善用php-fpm的慢执行日志slow log,分析php性能问题

众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题。作为mysql的好搭档,php也有这样的功能。如果你使用php-fpm来管理php的话,你可以通过如下选项开启。
PHP 5.3.3 之前设置如下:
<value name="request_slowlog_timeout">5s</value>
< value name="slowlog">logs/php-fpm-slowlog.log</value>

PHP 5.3.3 之后设置以下如下:
request_slowlog_timeout = 5s
slowlog = /usr/local/php/log/php-fpm-slowlog.log

说明:
request_slowlog_timeout 是脚本超过多长时间 就可以记录到日志文件
slowlog 是日志文件的路径

开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息:

[19-Dec-2013 16:54:49] [pool www] pid 18575
 script_filename = /home/web/htdocs/sandbox_canglong/test/tt.php
 [0x0000000003a00dc8] curl_exec() /home/web/htdocs/sandbox_canglong/test/tt.php:2
 [0x0000000003a00cd0] exfilter_curl_get() /home/web/htdocs/sandbox_canglong/test/tt.php:6 

日志说明:
script_filename 是入口文件
curl_exec() : 说明是执行这个方法的时候超过执行时间的。
exfilter_curl_get() :说明调用curl_exec()的方法是exfilter_curl_get() 。
每行冒号后面的数字是行号。

开启后,在错误日志文件中也有相关记录。如下:

[19-Dec-2013 15:55:37] WARNING: [pool www] child 18575, script '/home/web/htdocs/sandbox_canglong/test/tt.php' (request: "GET /test/tt.php") executing too slow (1.006222 sec), logging
 [19-Dec-2013 15:55:37] NOTICE: child 18575 stopped for tracing
 [19-Dec-2013 15:55:37] NOTICE: about to trace 18575
 [19-Dec-2013 15:55:37] NOTICE: finished trace of 18575
时间: 2024-09-05 16:18:11

善用php-fpm的慢执行日志slow log,分析php性能问题的相关文章

php性能分析之php-fpm慢执行日志slow log用法浅析_php技巧

本文实例讲述了php性能分析之php-fpm慢执行日志slow log用法.分享给大家供大家参考,具体如下: 众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题.作为mysql的好搭档,php也有这样的功能.如果你使用php-fpm来管理php的话,你可以通过如下选项开启. PHP 5.3.3 之前设置如下: <value name="request_slowlog_timeout">5s</value> &

php性能分析之php-fpm的慢执行日志slow log

众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题.作为mysql的好搭档,php也有这样的功能.如果你使用php-fpm来管理php的话,你可以通过如下选项开启. PHP 5.3.3 之前设置如下: <value name="request_slowlog_timeout">5s</value> <value name="slowlog">logs/php-fpm-slowl

教你使用PHP-FPM的slow log分析网站

最近从GOOGLE ananlytics 发现网站速度变慢了很多,于是想到了PHP中的FPM慢日志功能. 好在 PHP-FPM 提供了慢执行日志,可以将执行比较慢的脚本的调用过程 dump 到日志中. Shell代码 cd /etc/php5/fpm/pool.d/ vi www.conf 修改配置 Java代码 ; The timeout for serving a single request after which a PHP backtrace will be ; dumped to t

mysql正确安全清空在线慢查询日志slow log的流程分享_Mysql

1, see the slow log status; mysql> show variables like '%slow%';+---------------------+------------------------------------------+| Variable_name       | Value                                    |+---------------------+-------------------------------

mysql正确安全清空在线慢查询日志slow log的流程分享

1, see the slow log status; mysql> show variables like '%slow%'; +---------------------+------------------------------------------+ | Variable_name       | Value                                    | +---------------------+----------------------------

五款常用mysql slow log分析工具的比较分析_php技巧

启用 slow log 有两种启用方式:1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-queries[=file_name]选项 比较的五款常用工具 mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter mysqldumpslow, mysql官方提供的慢查询日志分析工具. 输出图表如下: 主要功能是, 

mysql slow log分析工具的比较

原文地址: http://developer.51cto.com/art/201309/410323_all.htm mysql 中的 slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具.       启用 slow log       在 my.cnf 中设置 [mysqld]  slow_query_log=on  slow_query_log_file=mysql-slow  重启 MySQL 服务. 五款常用工具       m

五款常用mysql slow log分析工具的比较

mysql管理工具 mysql slow log 是用来记录执行时间较长(超过long_query_time秒)的sql的一种日志工具. 启用 slow log 有两种启用方式: 1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定–log-slow-queries[=file_name]选项 比较的五款常用工具 mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-lo

mysql 5.5 开启慢日志slow log的方法(log_slow_queries)_Mysql

1.MySQL 5.5命令行里面 复制代码 代码如下: set global log_slow_queries = on;                               # 开启慢日志 set [session|global]  long_query_time =0.2               # 设置时间.精确的毫秒 set global  log_queries_not_using_indexes = on;   # 设置无索引的查询 2.查看存放日志的形式 mysql>