nginx源码修改之stub_status

    nginx状态监控配置我就不多说了,不知道的可以参考我的上篇文章,或者查阅官方文档。

    当前nginx的stub_status返回的结果如下所示:

    Active connections 当前活跃连接数,包括等待中的连接数。

    accepts  接受客户端连接的总数。

     handled  处理请求的总数,一般和accepts相差不大,如果相差比较大说明服务器的处理能力下降了,可以考虑优化服务了。

    requests 客户端请求的总数,这个值一般大于其他两个。

    Reading 表示nginx正在读请求头的总数

    Writing 表示nginx正在给客户端写请求的总数

    Waiting 表示客户端正在等待响应的总数

Active connections: 1 
server accepts handled requests
 4 4 11 
Reading: 0 Writing: 1 Waiting: 0

     

        通过对上面参数的说明,不难发现。要想获得服务器的请求量,连接数很容易。而且我们可以写一个监控程序,每隔1s调用一下stub_status的location,和上一秒做一个减法就可以得的nginx服务器QPS。但是遗憾的是,如何想要的到nginx处理请求的平均响应时间,就没法解决了。如果有人找你说你的http接口总数timeout,那就郁闷了。我的服务响应到底多长时间?这个问题就急需要解决。

        问题解决思路是这样的。在accepts handled requests后面加一个返回值,即服务器处理每个请求响应时间的和。这样要想看当前服务的响应时间,就只需要,和上一秒请求时间做差然后除以这一秒处理的handled值即可。

    修改后的结果如下所示,其中 13 就是所有请求累计的响应时间,单位是毫秒。

Active connections: 1 
server accepts handled requests
 1 1 63 13 
Reading: 0 Writing: 1 Waiting: 0

    代码可以去 https://github.com/guisz/nginx-1.9.9-stub_status.git  查看。




转载于:https://my.oschina.net/guisz/blog/612894

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值