apache中使用mod_log_slow分析响应慢的请求


本文向大家介绍apache中使用mod_log_slow分析响应慢的请求,包括了apache中使用mod_log_slow分析响应慢的请求的使用技巧和注意事项,需要的朋友参考一下

apache+php站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginx+php-fpm倒是好查,他有一个slowlog,可以快速的定位到出现故障的php代码位置,使用xdebug来查问题太复杂。写mod_log_slow的灵感来源于mysql的slowlog.以下内容翻译了官方的.

项目地址:http://code.google.com/p/modlogslow/

1. 编译安装 mod_log_slow

1) 解压


tar zxf mod_log_slow-1.0.7.tar.gz

cd mod_log_slow

或者可以从github中下载


git clone git://github.com/yokawasa/mod_log_slow.git

cd mod_log_slow

2) 打开Makefile并且修改变量ap_basedir

#vi Makefile

 ap_basedir=/改成你的apache安装路径

# make

# make install

2. 配置apache
2.1 加载模块


LoadModule log_slow_module modules/mod_log_slow.so

2.2 配置虚拟主机

<VirtualHost *:80>

    ServerName localhost

    DocumentRoot /usr/local/apache/htdocs

    ErrorLog logs/error_log

    LogLevel debug     CustomLog logs/access_log common     CustomLog logs/transfer_log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{logslow-id}n\" \"%{logslow-time}n\""

    ## (VirtualHost) mod_log_slow configuration     LogSlowEnabled On     LogSlowLongRequestTime 100     LogSlowFileName /usr/local/apache/logs/slow_log     LogSlowTimeFormat "[%Y-%m-%d %H:%M:%S]"     LogSlowBufferedLogs Off </VirtualHost>

3. 重启

service httpd restart