apache中使用mod_log_slow分析响应慢的请求
程序员文章站
2023-10-28 15:44:34
apache+php站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginx+php-fpm倒是好查,他有一个slowlog,可以快速的定位到...
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