apache+php站點(diǎn)負(fù)載時(shí)不時(shí)高負(fù)載,但是因?yàn)樯厦娴恼军c(diǎn)太多,太難排查到底是哪個(gè)站點(diǎn)引起的。nginx+php-fpm倒是好查,他有一個(gè)slowlog,可以快速的定位到出現(xiàn)故障的php代碼位置,使用xdebug來(lái)查問(wèn)題太復(fù)雜。寫(xiě)mod_log_slow的靈感來(lái)源于mysql的slowlog.以下內(nèi)容翻譯了官方的.
項(xiàng)目地址: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) 打開(kāi)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 配置虛擬主機(jī)
代碼如下:
<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
新聞熱點(diǎn)
疑難解答
圖片精選