Track HTTP Application Response time in Nginx
Jump to navigation
Jump to search
↑ https://lincolnloop.com/blog/tracking-application-response-time-nginx/
↑ https://stackoverflow.com/a/39260524
1) Add to /etc/nginx/nginx.conf
befor your access_log
directive http://nginx.org/en/docs/http/ngx_http_log_module.html
log_format timed_combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '$pipe $upstream_response_time $request_time';
2) Modify access_log
directive to use new format:
access_log /var/log/nginx/yourdomain.com.access.log timed_combined;
request_time
This shows how long Nginx dealt with the requestupstream_response_time
Gives us the time it took our upstream server (in this case Apache/mod_wsgi) to respondpipe
Shows ‘p’ in case the request was pipelined.
3) Reload nginx:
nginx -t && systemctl restart nginx
4) Check your new log format, last field contains ($request_time
):
tail -f /var/log/nginx/access.log
Related
- Print http response times and date:
cat /var/log/nginx/access.log | awk '{print $4, $(NF-1)}'
Print only if http response time exceed a threshold:
cat /var/log/nginx/access.log | awk '$(NF-1) > "0.300" {print $4, $(NF-1)}
Web site response time:
curl -so /dev/null -w '%{time_total}\n' https://google.com
See also
- Web server: Nginx:
/etc/nginx/nginx.conf
,nginx -t
, Nginx logs, Nginx change log, PHP,php-fpm
, Let's encrypt, Nginx directives, Reverse Proxy, Configure HTTP redirection Nginx, Return,proxy_pass (Reverse proxy)
,ngx_http_rewrite_module
,/etc/nginx/sites-enabled/
,error.log
,access.log
,/nginx status
, AIO
Advertising: