php-fpm查找php慢速代码
来源:互联网 发布:艾德纺织软件 编辑:程序博客网 时间:2024/04/29 02:45
前两天帮助一个客户优化ecshop。
他的ecshop代码是找人修改过的,修改后速度已很很慢,大概打开一页需要9s吧。
而默认的ecshop在同样服务器上速度就很快。
开始走了很多弯路,因为只是速度慢,并无错误。就没有想到是代码的原因。
对比两个ecshop,首先发现首页加载的request数量差距很大,慢的站点105次,快的46次。
而且慢的站点1.66M大小,而快的只有455k。通过开启gzip和合并css、js等手段优化后,效果并不明显。
后来想到可能是因为找人修改过代码,开始怀疑到代码上(也确实没啥办法了)。
想到php-fpm可以记录下执行过慢的php脚本,于是修改php-fpm配置,加入了记录慢速php请求的代码。
下面是在php 5.3.8下的php-fpm.conf文件添加的内容
request_slowlog_timeout=5s
slowlog=/var/log/fpm_slow.log
这个配置会将php脚本执行超过5秒的,记录在/var/log/fpm_slow.log文件中。
如果你的php还是5.2.x的版本,那么php-fpm还是以补丁的形式执行,请参考下面的配置文件
The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
'0s' means 'off'
<value name="request_slowlog_timeout">0s</value>
The log file for slow requests
<value name="slowlog">logs/slow.log</value>
最终在/var/log/fpm_slow.log文件里,发现很多如下记录
[27-Dec-2011 10:07:27] [pool www] pid 8524
script_filename = /data/huaximall/flow.php
[0x0a0f41c0] fsockopen() !:649
[0x0a0f4104] _connect_sock() !:937
[0x0a0f3fdc] sock_to_host() !:693
[0x0a0f3f08] get_sock() !:372
[0x0a0f3e5c] get() !:952
[0x0a0f3d4c] getAll() !:291
[0x0a0f3c3c] get_child_tree() !:313
[0x0a0f3b18] get_child_tree() !:251
[0x0a0f2fa8] get_categories_tree() !:44
1
$start
= microtime(true);
2
$end
= microtime(true);
3
$time
=
$end
-
$start
;
- php-fpm查找php慢速代码
- php-fpm
- php-fpm
- PHP-FPM
- php-fpm
- php-fpm
- Php-fpm
- php-fpm
- PHP-FPM
- php-fpm
- php-fpm
- php-cgi php-fpm
- PHP FPM php-fpm.conf设置详解
- centos 安装 php php-fpm
- php && php-fpm 简介(主要)
- php cgi fastcgi php-fpm
- 【PHP】fastcgi与php-fpm
- Centos 安装php php-fpm
- 毕业设计首页
- vbs进行正则表达式匹配的方法和需注意的问题
- eclipse工具的使用
- Android实现通用的ActivityGroup(效果类似Android微博客户端主界面),强烈建议不要再使用TabActivity
- 技术之美[程序人生]开博的感受、如何学习编程、学习方法总结
- php-fpm查找php慢速代码
- 10635 - Prince and Princess LCS&LIS
- test eax,eax
- 程序员读书雷达
- 自己做了个实用的PE
- 安装jprofiler 监控
- 问题七十七:等值首尾和。
- 数据库视图和索引
- NYOJ128 前缀式计算