我有一个 WordPress 网站,每天有 25K 访客、+3K 帖子和 +22K 评论。在配备 2 CPU、8 GB Ram 和 SSD 磁盘的 VPS 上安装了 Centos。它很稳定,但从 20 天开始我发现 CPU 负载非常高,网站速度变慢,许多访客都收到了网站关闭的消息。
当我尝试使用“top”、“glances”进行故障排除时,我发现“/usr/bin/php-cgi”中有太多子进程,这些进程占用了 CPU 并使服务器冻结,并且我还发现“%us”非常高,这是“顶部”:https://pastebin.com/wiYtcWAz
经过搜索,我发现很多提示都提到要将 Apache 改为 php-fpm,我也照做了,但这没有帮助,负载从“/usr/bin/php-cgi”转换为“php-fpm:pool”,这是来自“瞥了一眼”:https://pastebin.com/BYiSGjkY
所以我决定换一台更大的服务器进行测试,我把它放在一台有 8 个 CPU 核心和 32 GB 内存的专用服务器上,还有 NVME SSD 磁盘,但问题并没有解决,同样的负载仍然存在。经过多次搜索,我发现很多意见都说这是 WordPress PHP 文件的问题,所以我开始着手解决这个问题,我做到了以下是尝试:
- 停用所有插件。
- 更改主题并使用默认主题。
- 优化数据库并清理所有未使用的元数据。
- 导出和导入到新安装的 WordPress。
- 删除所有评论。
- 删除所有媒体文件。
问题还没有解决。另外,我查看了缓存,因此我使用“wp-rocket”作为带有 opcache php 缓存的 WordPress 缓存插件,我也尝试了“redis 和 memcached”,但问题仍然存在。