通过nginx 499 来判断服务端超时数量

这个其实不能算一篇文章,因为内容太少了,就当记点笔记吧。

(1)什么是 nginx 499

  499 其实是 nginx 下特有的 http 状态码,代表客户端主动断开了连接,导致服务器无法返回 http 请求头。

  google 的解释: 

    A non-standard status code introduced by nginx for the case when a client closes the connection while nginx is processing the request, making server unable to send the HTTP header back. 

(2)nginx 499 状态码有什么作用

  显然,如题,可以通过统计 nginx 日志中的 499 数量来判断有多少请求超出了客户端设置的超时时间,当然,如果服务端记录了请求的耗时,还可以由此判断客户端的超时时间是多少。

  如果要统计超时的数量,在 nginx 日志文件夹下执行如下指令即可:

[worker@******-sh-100-E08 2017-07-05]$ grep ' 499 ' * | wc -l
60

  如果要查看客户端设置的超时时间,只需要查看落日志时 nginx 的时间即可:

xxx-2017-07-05-12.log:xxx xxx1.xxx "10.xx.xx.14|10.xx.xx.167:9000|-" [05/Jul/2017:12:26:06 +0800] "1.000|-|-|-" "POST /Website/cp/cp-resource?cp_number=ifeng_fm&rid=0GinAnBb%2C0GinAnBb HTTP/1.0" 499 0 "-" "-" "-"

  如上这条日志可以看出,执行时间为 1.000秒,即客户端的超时时间为 1 秒

 

posted @ 2017-07-05 18:07  talk_is_cheap  阅读(1827)  评论(0编辑  收藏  举报