开启PHP slow log 慢日志排查WordPress性能问题

当WordPress是一个空白站点的时候,打开速度一般不会有问题,随着网站内容越来越丰富,安装的插件越来越多,网站的打开速度可能会变得越来越慢,是什么原因导致WordPress变慢了呢?数据库?插件?主题?当遇到技术问题的时候,我们不能靠猜测来定位问题,对于WordPress站点来说,我们可以打开PHP的 slow log 慢日志来排查,看看是什么原因导致WordPress变慢了。

在LNMP环境中开启慢日志

这里说的LNMP环境是通过 https://lnmp.org/ 配置的环境。

1、编辑PHP FPM配置文件开启慢日志

vi /usr/local/php/etc/php-fpm.conf

2、加入以下配置

request_slowlog_timeout = 2s
slowlog = /var/log/php-slow.log

3、重启 PHP FPM 服务

lnmp php-fpm restart

如果你安装了其他PHP版本,需要修改你的WordPress站点使用的PHP站点的配置文件来开启慢日志。

在cPanel中开启PHP慢日志

1、首先,通过SSH登录cPanel服务器,运行下面的命令创建配置文件。

mkdir /var/cpanel/ApachePHPFPM/
touch /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml

2、然后添加下面的配置项到 system_pool_defaults.yaml 文件中。

---
_is_present: 1
slowlog: { name: 'slowlog', value: "/var/log/php-slow.log" }
request_slowlog_timeout: { name: 'request_slowlog_timeout', value: 1 }

3、重新构建PHP FPM配置并重启PHP FPM服务

/usr/local/cpanel/scripts/php_fpm_config --rebuild && /scripts/restartsrv_apache_php_fpm --status

通过slow log 定位问题

开启了慢日志后,我们再打开网站,刷新几次,就可以在慢日志中看到一些内容了,如下面的日志:

[05-Nov-2024 23:25:45]  [pool sample_com] pid 101088
script_filename = /home/sample/public_html/wp-admin/edit.php
[0x00007f38ea017b60] stream_socket_client() /home/sample/public_html/wp-includes/Requests/src/Transport/Fsockopen.php:173
[0x00007f38ea0166f0] request() /home/sample/public_html/wp-includes/Requests/src/Requests.php:469
[0x00007f38ea0165f0] request() /home/sample/public_html/wp-includes/class-wp-http.php:397
[0x00007f38ea016460] request() /home/sample/public_html/wp-includes/class-wp-http.php:638
[0x00007f38ea0163c0] get() /home/sample/public_html/wp-includes/http.php:184
[0x00007f38ea016330] wp_remote_get() /home/sample/public_html/wp-content/plugins/woocommerce-advanced-product-labels/includes/admin/class-wapl-hook-check.php:126
[0x00007f38ea016280] _do_hook_check() /home/sample/public_html/wp-content/plugins/woocommerce-advanced-product-labels/includes/admin/class-wapl-hook-check.php:87
[0x00007f38ea0161e0] missing_hook_notice() /home/sample/public_html/wp-includes/class-wp-hook.php:324
[0x00007f38ea016100] apply_filters() /home/sample/public_html/wp-includes/class-wp-hook.php:348
[0x00007f38ea016090] do_action() /home/sample/public_html/wp-includes/plugin.php:517
[0x00007f38ea015fb0] do_action() /home/sample/public_html/wp-admin/admin-header.php:303
[0x00007f38ea0153f0] [INCLUDE_OR_EVAL]() /home/sample/public_html/wp-admin/edit.php:411

对WordPress性能优化有一定经验的朋友不难看出,WordPress站点请求了某个外部网址,而这个外部网址的响应速度缓慢影响了WordPress的打开速度。知道了原因,我们针对性的去解决就行了。

虽然本文是针对WordPress的教程,但是其中的原理也适合其他PHP程序,如果您的站点遇到了打开速度慢的问题,不妨参考本文中的方式尝试一下。

顺便提一下,我们也提供专门针对WordPress的性能优化服务,如果您的WordPress站点打开速度慢,可以委托我们帮您进行优化,详情请咨询网站右侧微信。

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *