zoukankan      html  css  js  c++  java
  • 通过Nginx,Tomcat访问日志(access log)记录请求耗时

    一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间

    nginx.conf使用配置方式:

    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' '$connection $upstream_addr ' 'upstream_response_time $upstream_response_time request_time $request_time ';

    $request_time和$upstream_response_time之间差别:

    $request_time包含了用户数据接收时间,而真正程序的响应时间应该用$upstream_response_time 所以如果用户网络较差,或者传递数据较大时,$request_time会比$upstream_response_time大很多 详细参考:http://wuzhangshu927.blog.163.com/blog/static/114224687201310674652147/

    二、Tomcat通过%D或%T统计请求响应时间

    server.xml使用配置方式 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"    prefix="localhost_access_log." suffix=".txt"    pattern="%h %l %u [%{yyyy-MM-dd HH:mm:ss}t] %{X-Real_IP}i &quot;%r&quot; %s %b %D %F" />

    %D - 官方解释:Time taken to process the request, in millis,处理请求的时间,以毫秒为单位 %T - 官方解释:Time taken to process the request, in seconds,处理请求的时间,以秒为单位 %F - 官方解释:Time taken to commit the response, in millis,提交响应的时间,以毫秒为单位 详细说明:http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Access_Logging

    三、通过awk命令辅助统计access.log

    1.简单统计nginx访问日志access log每分钟请求数

    awk -F: '{count[$2":"$3]++} END {for (minute in count) print minute, count[minute]}' /usr/local/nginx/logs/access.log | sort > count.log

    结果如下所示(count.log) 18:30 2086 18:31 2184 18:32 2176 18:33 2122 18:34 2128 18:35 2179 ...

    参考:http://huoding.com/2013/01/26/215

    2.统计请求响应时间超过10s的记录

    awk '($NF > 10){print $0}' /usr/local/tengine/logs/cut-log/access_2015-01-12.log >t10_0112.log

    更多awk命令统计访问日志参考:http://www.ibm.com/developerworks/cn/linux/l-cn-awk-httplog/

  • 相关阅读:
    Kafka 配置
    Zookeeper的Watcher机制
    Ubuntu18.04下希捷移动硬盘Seagate Backup Plus读写慢
    Spring Boot 使用Jar打包发布, 并使用 Embedded Jetty/Tomcat 容器
    再谈C#委托与事件
    C#委托和事件例析
    PHP:session无法使用
    C++:实现类似MFC的IsKindOf功能
    C++:复制构造函数
    C++:运算符重载
  • 原文地址:https://www.cnblogs.com/kabi/p/7124983.html
Copyright © 2011-2022 走看看