• nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)


    nginx模块ngx_http_log_request_speed可以用来找出网站哪些请求很慢,针对站点很多,文件以及请求很多想找出哪些请求比较慢的话,这个插件非常有效.作者的初衷是写给自己用的,用来找出站点中处理时间较长的请求, 这些请求是造成服务器高负载的很大根源. 日志记录之后,在使用perl脚本分析日志,即可知道哪些请求需要修正.

    1. 模块安装

    nginx第三方模块安装方法,我们ttlsa.com已经说过很多次了,我这边不在重复了。
    配置参数

     

    2. 指令log_request_speed

    log_request_speed_filter
    语法: log_request_speed_filter [on|off]
    配置段: n/a
    context: location, server, http
    启动或禁用模块

    log_request_speed_filter_timeout
    语法: log_request_speed_filter_timeout [num sec]
    默认: 5秒
    配置段: location, server, http
    这边并不是真正意义的超时,而是说当请求超过这边给定的时间,将会记录到nginx错误日志中. 默认值是5000微秒(5秒),如果一个请求小于5秒,这个请求不会被记录到日志中,但是如果超过5秒,那请求将会被记录到nginx的错误日志中

    3. 使用实例

    3.1 nginx配置

    错误日志中记录的慢请求如下

    nginx

    nginx慢请求日志

    3.2 日志分析

    从日志中,我们发现这边有2条请求比较慢,最慢的是/shmb/1145.html ,而且还标示“THE WINNER”,作者你赢了。很幽默。

    3.3 分析脚本语法

     

    4. nginx测试版本

    目前作者只在0.6.35和0.7.64下测试,不保证其他环境下可以使用。我当前的测试版本是1.4.1,目前使用正常,在使用前请大家先测试一下。

    5. 结束语

    首先很感谢作者写的这个简单实用的nginx插件,这个插件的目的不仅仅是记录请求的响应时间,而且是用来找出响应慢的请求。如果你的服务器上有大量的站点,或者大量的程序文件,但是访问量不高,负载却很高,你想找出是哪个请求慢,我想这个插件非常适合你。

    参考地址
    ngx_http_log_request_speed下载地址:http://wiki.nginx.org/images/7/78/Ngx_http_log_request_speed.tar.gz
    ngx_http_log_request_speed脚本地址:http://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz

  • 相关阅读:
    比较Activiti中三种不同的表单及其应用
    Liferay7 BPM门户开发之2: BPMN 2.0 规范入门 (Activiti BPMN extensions)
    activiti学习笔记 ----------------------------FormService
    activiti学习笔记---managementService
    Activiti5 学习笔记—— comment 批注
    Activiti6-流程跟踪监控图-节点-流程线高亮显示-支持通过、不通过、驳回、退回
    Activiti 快速入门教程:SpringBoot 集成 Activiti6 + Activiti Modeler 流程配置可视化
    工作流学习——Activiti流程变量五步曲
    利用Python中的mock库对Python代码进行模拟测试
    密码校验正则 -- 数字、字符、特殊符号
  • 原文地址:https://www.cnblogs.com/chenshoubiao/p/4783806.html
Copyright © 2020-2023  润新知