服务器 
首页 > 服务器 > 浏览文章

apache中使用mod_log_slow分析响应慢的请求

(编辑:jimmy 日期: 2024/9/21 浏览:3 次 )

apache+php站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginx+php-fpm倒是好查,他有一个slowlog,可以快速的定位到出现故障的php代码位置,使用xdebug来查问题太复杂。写mod_log_slow的灵感来源于mysql的slowlog.以下内容翻译了官方的.

项目地址: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) 打开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

上一篇:nginx status状态页配置方法和中文说明
下一篇:apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。