通过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 日志文件夹下执行如下指令即可:

[[email protected]******-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 秒

时间: 2024-10-18 13:09:14

通过nginx 499 来判断服务端超时数量的相关文章

mongo大数据量更新服务端超时解决: Cursor not found, cursor id: 82792803897

默认 mongo server维护连接的时间窗口是十分钟 默认 单次从 server获取数据是101条或者 大于1M小于16M的数据 所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常. 解决办法: 1. 修改每批次获取数据量的条数,即batch size: collection.find(condition).batch_size(5) 批量数需 估算十分钟内能处理的数据量 2. 延长超时时间 需显示的关闭cursor db.getCollection("unicom_jd"

nginx 499状态码

Web服务器在用着nginx,在日志中偶尔会看到有499这个错误. rfc2616中,400-500间的错误码仅定义到了417,所以499应该是nginx自己定义的.后来想到读读nginx代码,疑问立解. 查看nginx源代码的方法: 1.解压nginx-1.4.7.tar.gz tar zxf nginx-1.4.7.tar.gz 2.查找499关键字: 在nginx源码中grep一下499(现在看源码习惯用grep大法),得到如下结果: # cd nginx-1.4.7 # grep 499

Nginx 499 报错,tomcat大量超时

今天web大量超时报错,查看日志显示,tomcat链接RPC服务timeout,查看tomcat机器和RPC服务所在机器资源都正常.尝试重启RPC服务后,web仍然报错,查看nginx日志,有大量499报错.经查询得知,nginx的499报错解释如下: 『 499 / ClientClosed Request    An Nginx HTTP server extension. This codeis introduced to log the case when the connection

Android中直播视频技术探究之---视频直播服务端环境搭建(Nginx+RTMP)

一.前言 前面介绍了Android中视频直播中的一个重要类ByteBuffer,不了解的同学可以 点击查看 到这里开始,我们开始动手开发了,因为我们后续肯定是需要直播视频功能,然后把视频推流到服务端,本地在进行拉流播放的流程.所以这个过程中,我们需要首先来把服务端这个中间环节的工作搞定,后续再弄推流和拉流功能.现在推流大部分都是使用RTMP/HLS协议的,关于这两个协议的区别: 所以我们服务端搭建就需要用这两个协议,不过本文放心了,不会去手动的编写一套协议代码的,谁叫这个世界属于开源呢? 需要的

nginx服务端配置pdf文件下载

默认情况下,通过nginx服务器来访问pdf文件,在浏览器上是会直接打开该pdf文件呈现内容的.如果想要访问pdf文件时,实现下载文件的效果,则需要在nginx服务端做一些配置. # vi nginx.conf  location /{   if ($request_filename ~*^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){   add_header Content-Disposition:'attachment;';

转:实现一个简单的服务端推送方案

原文来自于:http://blog.csdn.net/jiao_fuyou/article/details/17090355 客户端和服务端的交互有推和拉两种方式:如果是客户端拉的话,通常就是Polling:如果是服务端推的话,一般就是Comet,目前比较流行的Comet实现方式是Long Polling. 注:如果不清楚相关名词含义,可以参考:Browser 與 Server 持續同步的作法介紹. 先来看看Polling,它其实就是我们平常所说的轮询,大致如下所示: Polling 因为服务端

如何提高Web服务端并发效率的异步编程技术

作为一名web工程师都希望自己做的web应用能被越来越多的人使用,如果我们所做的web应用随着用户的增多而宕机了,那么越来越多的人就会变得越来越少了,为了让我们的web应用能有更多人使用,我们就得提升web应用服务端的并发能力.那么我们如何做到这点了,根据现有的并发技术我们会有如下选择: 第一个做法:为每个客户端发送给服务端的请求都开启一个线程,等请求处理完毕后该线程就被销毁掉,这种做法很直观,但是在现代的web服务器里这种做法已经很少使用了,原因是新建一个线程,销毁一个线程的开销(开销是指占用

socket编程:多路复用I/O服务端客户端之epoll

什么是epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll.当然,这不是 2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通 知方法. epoll的相关系统调用 epoll只有epoll_create,epoll_ctl,epoll_wait 3个系统调用. 1

现代Java服务端开发核心技术之分布式数据库中间件MyCAT入门

现代Java服务端开发核心技术之分布式数据库中间件MyCAT入门 现代Java服务端开发核心技术 MyCAT系统环境搭建 如下列表展示了搭建MyCAT运行时环境所需要的软件及其版本说明. 软件名称 软件版本 os centos7.5 JDK JDK1.8u191 MySQL MySQL5.7 Mycat Mycat1.6.5 Navicat Navicat12.08 在非集群的环境下,MyCAT仅仅依赖JDK就可以良好的运行在Windows,Linux,macOS等操作系统之上. CentOS7