php|fpm优化启用慢日志检测耗时长的PHP脚本

tengxunyun cera

之前讲了很多关于WordPress优化的文章,今天讲讲服务器php-fpm优化启用慢日志检测耗时长的PHP脚本的方法。虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,而php-fpm的慢日志却可以做到,所以为了优化服务器环境提升服务器性能,开启php-fpm慢日志检测耗时长的PHP脚本非常有必要。

php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的

The timeout for serving a single request after which a PHP backtrace will be
dumped to the ‘slowlog’ file. A value of ‘0s’ means ‘off’.
Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
Default Value: 0
request_slowlog_timeout = 0
当request_slowlog_timeout 设为一个具体秒时request_slowlog_timeout =1,表示如果哪个脚本执行时间大于1秒,会记录这个脚本到慢日志文件中

request_slowlog_timeout =0表示关闭慢日志输出。

慢日志文件位置默认在php的安装目录下的log文件夹中,可以通过修改slowlog = log/$pool.log.slow参数来指定。

The log file for slow requests
Default Value: not set
Note: slowlog is mandatory if request_slowlog_timeout is set
slowlog = log/$pool.log.slow
php-fpm慢日志的例子,慢日志会记录下进程号,脚本名称,具体哪个文件哪行代码的哪个函数执行时间过长。

[27-May-2016 13:20:37] NOTICE: child 16683 stopped for tracing
[27-May-2016 13:20:37] NOTICE: about to trace 16683
[27-May-2016 13:20:37] NOTICE: finished trace of 16683
[27-May-2016 13:20:37] WARNING: [pool www] child 16720, script ‘/Data/webapps/test/public/index.php’ (request: “POST /index.php/test/test/”) executing too slow (1.204894 sec), logging
request_slowlog_timeout 和 slowlog需要同时设置,开启request_slowlog_timeout的同时需要开启 slowlog,慢日志路径需要手动创建

具体开启php-fpm慢日志步骤:

cd /apps/php

vi /apps/php/etc/php-fpm.conf
去掉request_slowlog_timeout 、slowlog的前缀分号’;’,设置request_slowlog_timeout =1;
:wq
保存退出
创建慢日志目录
mkdir -p /apps/php/etc/log
重启php-fpm
killall php-fpm
/apps/php/sbin/php-fpm

cera aliyun tengxunyun cloudiplc

相关推荐

layerhost亚洲优化线路测评

这家#kvm#可以+5刀选择#cn2#线路,今天推出4.9刀的#ovz#,包含#优化#网络 去程联通电信cn2 gt,移动pccw 测试ip:134.73.5.27 回城 江苏徐州电信 回程: Start: Sun May 24 01:12:02 2020                                    Loss%   Snt   Last   Avg  Best  Wrst StDev   2.|– ???                                                   100.0    10    0.0   0.0   0.0   0.0  …

1M小水管|wordpress优化服务!

WordPress 加速优化服务 速度是网站成功的第一因素,我们可以把您的 WordPress 网站打开速度提升到0.*秒! 大家应该发现了,本站的打开速度,国内站采用的1M腾讯云的小水管机器, 但是访问速度是毫秒级别的,国内站地址:https://yangmaodang.org 就算是国外站也是在半秒以内可以迅速打开,国外分站地址:https://yangmaodang.org 网站打开速度快有利于搜索引擎,也有利于网站转化率。 优化套餐 首先,优化之前,首先要确保你使用的服务器有 ROOT 权限,就是要至少买个云主机,不要虚拟主机了,虚拟主机是没有办法优化的,使用虚拟主机的不要来找我,毕竟大神也不是万能的。 安装插件调试 使用静态缓存加速 安装MED缓存 各类黑科技 图片使用CDN分离 价格为188元,如果网站没有备案推荐购买首页的习梦云服务器抗D抗C效果逆天,国内推荐腾讯云学生机,现在搞活动学生机1核心2G内存1M带宽1年只要240元可以联系我购买,前提你有备案域名,如果你没有CDN,可以把图片用第三方图床,1M小水管逆天的时候到了!购买服务可以包半年更新,联系QQ:1064310077 案例网站-国内1M:https://yangmaodang.org 国外分站地址:https://yangmaodang.org  

WordPress 后台载入速度优化|关闭和禁用更新

很多站长们都知道 WordPress 默认都是开着自动更新的,并且 WordPress 的更新推送一直还都很不错,更新及时至少。WordPress 保持必要的更新也是很有必要的,至少每次的小版本更新都是 BUG 修复、漏洞修复,对于站点安全提升很有帮助,但是凡事都是有利必有弊的,为了保持 WordPress 更新的及时准确就必须有更新定时任务的存在来确保正常运行,这必然会造成 WordPress 后台载入速度的下降,所以今天分享给大家如何关闭 WordPress 的更新。 其实,自己是很喜欢 WordPress 的这种更新机制的(基于 SaaS 的解决方案,SaaS 是 Software-as-a-Service 的简称,意思是软件即服务。),甚至还非常的推崇!并且据官方宣称在未来的 WordPress 版本中,我们可能会看到更多基于 SaaS 的解决方案。但是这次 WordPress 5.0 更新强推的 Gutenberg(古腾堡)编辑器就让感觉非常的不爽,能不能用先不说,就这个影响了原有主题的正常使用就让人比较接受不了,反正用的 Begin 主题实测是受到了影响的。同时 WordPress 的在线更新体验是越来越差了,稳定性太不好了,WordPress 更新服务器动不动就被“墙”让人很抓狂呀。由此决定通过代码来强制关闭 WordPress 的更新,至少要关闭自动更新。具体代码如下所示: // 彻底关闭自动更新 add_filter(‘automatic_updater_disabled’, ‘__return_true’); //关闭“插件”的自动更新 add_filter( ‘auto_update_plugin’, ‘__return_false’ ); //关闭“主题”的自动更新 add_filter( ‘auto_update_theme’, ‘__return_false’ ); //关闭“语言包”的自动更新 add_filter( ‘auto_update_translation’, ‘__return_false’ …

WordPress缓存提速优化进阶学习目标0sql查询

这是今年第二篇关于WordPress提速性能优化的文章了,第一篇WordPress性能优化——提升网站速度飞起来教程在当时看来能将WordPress网站从5秒左右提速到1秒已是极限,我还沾沾自喜,如今看来那只能算是初级教程,今天给大家带来高级教程,别问我为什么不按初级中级高级的顺序写,因为我的博客想怎样写就怎样写! 大家以为WordPress的速度极限是多少秒?我见过最快的WordPress网站就是我爱水煮鱼的博客,号称0.0006秒生成页面,虽然生成速度很快,但在用户体验上的实际访问速度(这里指输入网址到浏览器展示出来的时间,即DOM解析速度)还是在300ms左右(实测与访客网络有关,在下渣渣移动3G网络)。当然,在第一次访问之后打开其它页面的速度几乎可以说是无缝切换。 WordPress缓存提速优化进阶学习实现0sql查询 目前代码狗博客的访问速度可以在500ms左右展现为了提升WordPress访问速度,站内页面间的切换可以说几乎做到了无缝切换,但相比于优化大神我爱水煮鱼来说还有许多不足之处,等我再研究一阵应该可以写出一篇终极优化教程来,这次WordPress性能提速优化我做了如下更改。 服务器方面 Centos7.2 64位系统升级至Centos7.4 64位系统。 Nginx1.11升级至Nginx1.12。 PHP5.6升级至PHP7.2。 MySQL5.4升级至MySQL5.6。 Memcached1.3升级至Memcached3.0。 新增PHPOpcode字节码缓存。 新增Redis缓存。 WordPress缓存插件 Batcache缓存插件,它能将整个页面静态化,右键查看网页源码可以在网页底部看到绿色的缓存信息。下载好后取出其中advanced-cache.php文件放入wp-content/目录下,注意wp-content目录下,batcache.php文件放入wp-content/plugins/目录下,然后后台开启插件。下载地址:https://wordpress.org/plugins/batcache/ Memcached Object Cache缓存插件,取出其中object-cache.php文件放入wp-content/目录下,默认开启,无后台启动选项。下载地址:https://wordpress.org/plugins/memcached/ 做好上面的部分再修改wp-config.php文件中的配置,如下(没有就直接添加即可) define(‘ENABLE_CACHE’, true);//开启memcached缓存 define(‘WP_CACHE’, true);//开启默认缓存 好了,到这里再看看你的WordPress网站打开速度如何?一般来说如果上面的步骤都做了,你的WordPress网站打开速度应该在1秒以内,一般只需0.X秒即可打开网站,如果有图片等大资源,配上CDN会更快哟。到此sql查询次数也会降低至20次以内(各主题代码优化不一致,听说有的甚至能降低至2个sql查询,不知道他是怎么做到的很好奇,有知道身边有这样的朋友麻烦告诉他,他又多了一个粉丝)。 高级加速 上面部分应该可以算是WordPress性能优化提速的中级教程了,下面才是高级教程,学习下面的教程需要你的服务器支持memcached内存缓存,并且个人对WordPress函数有一定理解,否则改坏了程序,网站跑不起来别赖我,再提醒一句,一定要提前快照,切记! 在进入高级教程前我们需要先了解3个WordPress函数,它们分别是: wp_cache_set() 把数据写到缓存中。 wp_cache_get() 读取缓存数据。 wp_cache_delete() 删除缓存。 它们需要用到如下四个参数 这些函数会涉及到的四个参数: $key: 对象的 key。 $data: 要存的值。 $group: 分组,可选参数,用来把缓存对象就行分组。 $expire: 过期时间,可选参数,如果是默认缓存,这个函数没用,如果是内存缓存,是设置缓存的时间,单位是秒,默认为0(0的意思就是永远,不会自动过期)。 基本使用 $data = wp_cache_get(“缓存key”,’缓存分组’); if(false === $data ){ $data = …

微信扫一扫,分享到朋友圈

php|fpm优化启用慢日志检测耗时长的PHP脚本