How to Check Nginx and Apache Response Times on Linux Server

Step-by-step guide to check Nginx and Apache web server response times. Monitor server performance, identify slow responses, and optimize web server configuration.

Last updated: 2026-01-11

How to Check Nginx and Apache Response Times on Linux Server

Monitor Nginx and Apache response times to track web server performance, identify slow responses, and optimize server configuration. This guide shows you how to check response times and set up automated monitoring.

For comprehensive web server monitoring, see Application Performance Monitoring. For troubleshooting web server issues, see Nginx Apache 502 Bad Gateway Error.

Why Checking Response Times Matters

Web server response times directly impact user experience. Slow response times cause poor user experience, increased bounce rates, and potential SEO penalties. Monitoring response times helps maintain optimal server performance.

Method 1: Check Response Times with curl

Measure Response Time

# Basic response time check
time curl -o /dev/null -s -w "%{time_total}" http://localhost/

# Check response time with details
curl -o /dev/null -s -w "Time: %{time_total}s\nHTTP Code: %{http_code}\n" http://localhost/

# Check multiple endpoints
for url in http://localhost/ http://localhost/api http://localhost/health; do
  echo -n "$url: "
  curl -o /dev/null -s -w "%{time_total}s\n" $url
done

Monitor Response Times Over Time

# Monitor response time continuously
while true; do
  TIME=$(curl -o /dev/null -s -w "%{time_total}" http://localhost/)
  echo "$(date): $TIME seconds"
  sleep 5
done

Method 2: Check Response Times from Access Logs

Analyze Nginx Access Logs

# Check response times from Nginx logs
tail -100 /var/log/nginx/access.log | awk '{print $NF}' | sort -n

# Calculate average response time
tail -1000 /var/log/nginx/access.log | awk '{sum+=$NF; count++} END {print "Average:", sum/count, "seconds"}'

# Find slow requests
tail -1000 /var/log/nginx/access.log | awk '$NF > 1.0 {print $NF, $7}'

Analyze Apache Access Logs

# Check response times from Apache logs
tail -100 /var/log/apache2/access.log | awk '{print $NF}' | sort -n

# Calculate average response time
tail -1000 /var/log/apache2/access.log | awk '{sum+=$NF; count++} END {print "Average:", sum/count, "seconds"}'

# Find slow requests
tail -1000 /var/log/apache2/access.log | awk '$NF > 1.0 {print $NF, $7}'

Method 3: Check Response Times with ab (Apache Bench)

Benchmark Response Times

# Install Apache Bench
sudo apt-get install apache2-utils  # Debian/Ubuntu
sudo yum install httpd-tools         # CentOS/RHEL

# Benchmark response time
ab -n 100 -c 10 http://localhost/

# Get detailed timing information
ab -n 100 -c 10 -v 2 http://localhost/

Method 4: Automated Response Time Monitoring with Zuzia.app

Set up automated monitoring to track response times continuously and receive alerts when response times exceed thresholds.

Step 1: Add Response Time Monitoring Command

  1. Log in to Zuzia.app Dashboard

    • Access your Zuzia.app account
    • Navigate to your server
    • Click "Add Scheduled Task"
  2. Configure Response Time Check Command

    curl -o /dev/null -s -w "%{time_total}" http://localhost/
    
    • Set execution frequency (every 1-2 minutes)
    • Configure alerts when response time exceeds thresholds

Step 2: Configure Alert Thresholds

  • Warning: Response time > 1 second
  • Critical: Response time > 2 seconds
  • Emergency: Response time > 5 seconds

Step 3: Monitor Multiple Endpoints

Add commands to monitor critical endpoints:

# Monitor main page
curl -o /dev/null -s -w "%{time_total}" http://localhost/

# Monitor API endpoint
curl -o /dev/null -s -w "%{time_total}" http://localhost/api/health

Best Practices for Response Time Monitoring

1. Monitor All Critical Endpoints

  • Track response times for main pages
  • Monitor API endpoint response times
  • Check health check endpoints
  • Track admin panel response times

2. Monitor Response Times Continuously

  • Track response times regularly
  • Alert when response times exceed thresholds
  • Monitor response time trends
  • Optimize based on data

3. Set Appropriate Thresholds

  • Set thresholds based on application requirements
  • Adjust thresholds for different endpoints
  • Monitor response time percentiles (P95, P99)
  • Alert on response time degradation

4. Correlate Response Times with Other Metrics

  • Compare response times with server resources
  • Correlate with application errors
  • Monitor response times during peak traffic
  • Identify performance bottlenecks

Troubleshooting Slow Response Times

Step 1: Identify Slow Response Causes

When response times are slow:

# Check current response time
curl -o /dev/null -s -w "%{time_total}" http://localhost/

# Check server resources
top -b -n 1 | head -5

# Check web server status
systemctl status nginx
systemctl status apache2

Step 2: Optimize Response Times

Based on investigation:

  1. Optimize Web Server Configuration:

    • Tune worker processes
    • Optimize caching settings
    • Adjust connection limits
  2. Optimize Application Performance:

    • Optimize database queries
    • Implement caching
    • Optimize application code
  3. Scale Infrastructure:

    • Add more web servers
    • Implement load balancing
    • Optimize server resources

FAQ: Common Questions About Response Time Monitoring

What is considered slow response time?

Slow response time depends on your application type. Generally, response times under 200ms are excellent, 200-500ms are good, 500ms-1s are acceptable, and over 1s are slow. Set thresholds based on your requirements.

How often should I check response times?

For production web servers, continuous automated monitoring is essential. Zuzia.app can check response times every few minutes, storing historical data and alerting you when response times exceed thresholds.

How do I improve response times?

Improve response times by optimizing web server configuration, implementing caching, optimizing database queries, optimizing application code, and scaling infrastructure if needed.

Can response time monitoring impact server performance?

Response time monitoring commands have minimal impact on server performance when done correctly. Use appropriate monitoring frequency and avoid monitoring during peak traffic periods.

Note: The content above is part of our brainstorming and planning process. Not all described features are yet available in the current version of Zuzia.

If you'd like to achieve what's described in this article, please contact us – we'd be happy to work on it and tailor the solution to your needs.

In the meantime, we invite you to try out Zuzia's current features – server monitoring, SSL checks, task management, and many more.

We use cookies to ensure the proper functioning of our website.