共计 1054 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | apache php 站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginx php-fpm 倒是好查,他有一个 slowlog,可以快速的定位到出现故障的 php 代码位置,使用 xdebug 来查问题太复杂。写 mod_log_slow 的灵感来源于 mysql 的 slowlog. |
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
项目地址:http://code.google.com/p/modlogslow/
正文完
星哥玩云-微信公众号