发现线上有大量499的请求,然后看见有的499的请求body_bytes_sent 为0,所以就此情况查看一番。 复现场景:192.168.60.128 上面请求192.168.60.150的机器,150上的应用接口执行时间30秒,128上面的超时时间2秒,此时nginx返回了499,body_bytes_sent为0。 1、128请求模拟 >>> requests.get('http://192.168.226.150/',...
那为什么Nginx日志中的body_bytes_sent会为0呢?一个同事给了我这么一个解释 正好在Nginx返回给客户端的时候 客户端刷新页面 或 关闭浏览器了 使得客户端的socket关闭了 于是此时Nginx自然不会返回内容给客户端 自然body_bytes_sent就为0了 如何通过实验证明或证伪这个假设呢?nginx 有用1关注3收藏 回复 阅读8.8k ...
$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小 $connection 连接序列号 $connection_requests 当前通过连接发出的请求数量 $msec 日志写入时间,单位为秒,精度是毫秒 $pipe 如果请求是通过http流水线发送,则其值为"p",否则为“." $request_length 请求长度(包括请求行,请求头和请求体) $request_time...
1. $remote_addr(客户端(用户) IP地址) 127.0.0.1 2. $remote_user(需要在基于认证规则的时候,才有) '' 3. $time_local(访问时间) 21/Jul/2020:21:10:27 +0800 4. $request(请求的 url 地址) "GET / HTTP/1.1" 5. $body_bytes_sent(nginx返回给客户端的响应体的字节数,即不含响应头) 0 6....
如果$body_bytes_sent字段在日志中有时是-(表示没有发送任何内容),可能需要在累加前对该值进行检查或将其转换为数值,以避免awk执行错误。这通常不是问题,因为awk会将-解释为0。 通过执行这个命令,你将得到一个列表,列出了每个URL及其对应的总发送字节数,帮助你了解哪些页面产生了最多的数据传输量。这对于分析网站...
$binary_remote_addr 二进制格式的客户端地址。例如:\x0A\xE0B\x0E $body_bytes_sent 表示在向客户端发送的http响应中,包体部分的字节数 $content_length 表示客户端请求头部中的Content-Length 字段 $content_type 表示客户端请求头部中的Content-Type 字段 ...
1,$body_bytes_sent 下发给客户端的字节数(不包含响应头) 2,$request_time 从 接收到请求的第一个字节 到 把响应的最后一个字节发送给客户端,所经历的时间。单位是秒,精确到毫秒 3,$send_http_name 用于获取下发给客户端的任意响应头的值。响应头名称和name之间的转换方式是:将响应头名称转换成小写形式,并...
Nginx预定义了名为combined日志格式,如果没有明确指定日志格式默认使用该格式: 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 log_format combined'$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent"'; ...
# '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; main格式是我们定义好一种日志的格式,并起个名字,便于引用。 以上面的例子,main类型的日志,记录的 remote_addr... http_x_forwarded_for等选项. 二...
$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小 $connection 连接序列号 $connection_requests 当前通过连接发出的请求数量 $msec 日志写入时间,单位为秒,精度是毫秒 $pipe 如果请求是通过http流水线发送,则其值为"p",否则为“." $request_length ...