apache+php站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginx+php-fpm倒是好查,他有一个slowlog,可以快速的定位到出现故障的php代码位置,使用xdebug来查问题太复杂。写mod_log_slow的灵感来源于mysql的slowlog.以下内容翻译了官方的.
1. 编译安装 mod_log_slow文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
1) 解压文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
tar zxf mod_log_slow-1.0.7.tar.gz cd mod_log_slow
或者可以从github中检出文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
git clone git://github.com/yokawasa/mod_log_slow.git cd mod_log_slow
2) 打开Makefile并且修改变量ap_basedir文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
#vi Makefile ap_basedir=/改成你的apache安装路径 # make # make install
2. 配置apache
2.1 加载模块文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
LoadModule log_slow_module modules/mod_log_slow.so
2.2 配置虚拟主机文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
<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. 重启文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
service httpd restart
项目地址:http://code.google.com/p/modlogslow/文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
转载请注明出处:使用mod_log_slow定位apache响应慢的请求 https://www.ttlsa.com/html/2290.html文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/文章源自运维生存时间-https://www.ttlsa.com/apache/apache-modules-mod_log_slow/
1F