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