nginx-request_time和upstream_response_time

1、request_time

官网描述:request processing time in seconds with a milliseconds resolution; time elapsed between the first bytes were read from the client and the log write after the last bytes were sent to the client 。
指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出
响应数据时间。

2、upstream_response_time

官网描述:keeps times of responses obtained from upstream servers; times are kept in seconds with a milliseconds resolution. Several response times are separated by commas and colons like addresses in the $upstream_addr variable

是指从Nginx向后端(php-cgi)建立连接开始到接受完数据然后关闭连接为止的时间。

从上面的描述可以看出,$request_time肯定比$upstream_response_time值大,特别是使用POST方式传递参数时,因为Nginx会把request body缓存住,接受完毕后才会把数据一起发给后端。所以如果用户网络较差,或者传递数据较大时,$request_time会比$upstream_response_time大很多。

所以如果使用nginx的accesslog查看php程序中哪些接口比较慢的话,记得在log_format中加入$upstream_response_time。

时间: 2024-11-12 10:13:23

nginx-request_time和upstream_response_time的相关文章

nginx优化之request_time 和upstream_response_time差别

jouny在根据nginx的accesslog中$request_time进行程序优化时,发现有个接口,直接返回数据,平均的$request_time也比较大.原来$request_time包含了用户数据接收时间,而真正程序的响应时间应该用$upstream_response_time. 下面介绍下2者的差别: 1.request_time官网描述:request processing time in seconds with a milliseconds resolution; time el

request_time和upstream_response_time详解

下图是request_time. 下图是upstream_response_time. 精准的描述就是:request_time是从接收到客户端的第一个字节开始,到把所有的响应数据都发送完为止.upstream_response_time是从与后端建立TCP连接开始到接收完响应数据并关闭连接为止.所以,request_time会大于等于upstream_response_time. 比如,36.110.43.106 - - [12/Dec/2019:17:04:26 +0800] "GET /j

ELK+syslog+nginx访问日志收集+分词处理

一.nginx访问日志配置: 1.日志格式配置: log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"clientip":"$remote_addr",' '"size":$body_bytes_sent,' '"xff":"$http_x

logstash grok 分析 nginx access 日志

为了便于量化分析nginx access日志,使用logstash 进行筛选匹配 1.确定nginx 日志格式     log_format access '$remote_addr - $remote_user [$time_local] '               '$http_host $request_method $uri '               '$status $body_bytes_sent '               '$upstream_status $ups

ElKstack-解决nginx日志url链接包含中文logstash报错问题

logstash报错现象 Trouble parsing json {:source=>"message", :raw=>"{\"@timestamp\":\"2016-05-30T14:51:27+08:00\",\"host\":\"10.139.48.166\",\"clientip\":\"180.109.110.203\",\"

nginx 日志相关配置总结

设置位于nginx.conf: log_format  main  '$server_name $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" $upstream_addr $request_time $

ELK监控日志nginx(集成Geoip)

实验环境:之前ELK已经初步安装完毕了,只需要将nginx的日志发送过来就可以了,nginx的IP为:192.168.137.101.因为服务端只是收集日志的所以下面的操作完全是在nginx机器上面完成的.在这里感谢<ELK stack权威指南>这本书,下面配置的内容都是借鉴的这本书. #/opt/logstash/bin/logstash-plugin install logstash-filter-geoip 安装这个插件,以前的老版本需要自己下载GeoIP还有这个插件的数据库,现在都不需

Nginx 日志中记录cookie

因开发要求,在Nginx日志中需要记录Cookie信息,以便开发查询系统发生了什么,我的日志是以json格式显示,需要在nginx.conf文件中添加如下信息: 1,#vim  nginx.conf http {    include       mime.types;    default_type  application/octet-stream;   log_format logstash_json '{"@timestamp":"$time_iso8601"

ELK系列一:ELK安装配置及nginx日志分析

本文分三个部分介绍了elk.elk安装配置及基于filebeat分析nginx日志的配置. 第一部分:elk介绍 一.什么是elk ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana.这三款软件都是开源软件,通常是配合使用. 二.Elasticsearch 1.Elasticsearch介绍 Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全

logstash分析nginx、dns日志

elk分析nginx.dns日志 部署环境 192.168.122.187 Logstash-1.5.1 elasticsearch-1.6.0 kibana-4.1.1 Centos6.4 192.168.122.1 Redis-2.8 Centos7.1 192.168.122.2 Nginx logstash-1.5.2 supervisor-2.1-9 java-1.7 Centos6.4 192.168.122.247 Bind9 logstash-1.5.2 supervisor-2