定位apache慢请求神器—mod_log_slow

Crq
Crq
Crq
1287
文章
0
评论
2025年1月5日15:02:04
评论
6 847字阅读2分49秒
摘要

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/

weinxin
我的微信
这是我的微信扫一扫
Crq
  • 本文由 发表于 2025年1月5日15:02:04
  • 转载请注明:https://www.cncrq.com/12467.html
让 sudo 会话时间随心所欲 Linux教程

让 sudo 会话时间随心所欲

sudo命令是权限委派的命令,在生产环境中是非常常用的,默认情况下sudo命令会话时间是在15分钟。本文中,我们将介绍在 Ubuntu Linux 中使 sudo 密码会话(超时)...
MySQL的半同步复制 Linux教程

MySQL的半同步复制

MySQL复制默认是异步复制,存在一定的概率备库与主库的数据是不对等的,如果Master宕机,事务在Master上已提交,但很可能这些事务没有传到任何的Slave上,此时Slave...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: