Difference between revisions of "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
(5 intermediate revisions by 2 users not shown) | |||
Line 28: | Line 28: | ||
== Related == | == Related == | ||
* Print http response times and date: | * Print http response times and date: | ||
− | :<code>cat [[/var/log/nginx/access.log]] | awk '{print $4, $(NF-1)}'</code> | + | :<code>cat [[/var/log/nginx/access.log]] | awk '{print $4, $([[NF-1]])}'</code> |
− | :<code>cat | + | |
+ | Print only if http response time exceed a threshold: | ||
+ | :<code>cat /var/log/nginx/access.log | awk '$(NF-1) > "0.300" {print $4, $(NF-1)}</code> | ||
+ | |||
+ | Web site [[response time]]: | ||
+ | * <code>[[curl -so]] /dev/null -w '%{time_total}\n' https://google.com</code> | ||
== See also == | == See also == |
Latest revision as of 07:47, 9 May 2023
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[edit]
- 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[edit]
- 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: