今天突然发现 WordPress Admin 界面非常非常慢,访问帖子列表、插件列表等需要 60 秒甚至更长时间,或者直接显示超时错误。
我尝试了以下方法:
- 重新启动 Apache 服务。
- 重启服务器。
- 更改 PHP.ini 设置。然后重新启动服务器。
但一切都不起作用。最后我执行了以下步骤:
- 将 .htaccess 重命名为 .htaccess.backup。
- 然后仪表板就很快了。但是 WP Rocket 抱怨它无法访问 .htaccess。笔记:根据我的测试,重命名.htaccess后,我必须访问一个页面,然后转到步骤3将解决问题。如果跳过步骤2,则速度不会改变。看起来,通过访问该页面,.htaccess 将被加载到 Apache。
- 将 .htaccess.backup 重命名为 .htaccess。
尽管 .htaccess 的内容从未改变,但仪表板仍然很快。
为什么?我不明白为什么暂时重命名 .htaccess 可以永久解决问题,即使 .htaccess 内容实际上根本没有改变。
更新:
后续更新:
- 出现此问题是因为我想在我们网站的子文件夹中安装 vBulletinhttps://www.example.com/forums/
- 问题发生时,同一域下的所有 WordPress 实例,即https://www.example.com,https://www.example.com/blogs/和https://www.example.com/license/都非常慢。但是,其他域下(但在同一服务器中)的 WP 实例不受影响。
- 在我备份并删除 /forums/ 子目录之后,该问题不再出现。
更新2:
经过一天的正常状态后,现在问题又出现了。唯一的解决办法是将 .htaccess 重命名为 .htaccess.backup,访问域名 example.com 下的页面,然后再将 .htaccess 重命名回来。
更新 3
我终于解决了这个问题。详细过程如下https://www.webmasterworld.com/apache/5088830.htm#msg5089206
答案1
谢谢你的帮助。
我终于解决了这个问题。这篇文章PHP 脚本在 Apache 上突然加载非常慢给了我提示。所以我检查了 Apache 和 PHP FPM 的错误日志:
从 Apache 错误日志中,我看到其中一行:
[Mon Jun 26 20:10:43.367089 2023] [mpm_worker:error] 服务器已达到 MaxRequestWorkers 设置,请考虑提高 MaxRequestWorkers 设置
从 PHP FPM 错误日志中,我看到很多行这样的内容:
[2023 年 6 月 28 日 03:42:30] 警告:[pool example_com] 服务器已达到 max_children 设置 (5),请考虑提高该值
因此我增加了 PHP FPM 限制,如下所示:
- 最大请求数从 20 到 128
- 最多可容纳 5 至 75 名儿童。
现在错误不再出现。仪表板总是非常快。
解释:
- 当我的 PHP 请求排队并等待另一个请求完成时,仪表板变慢。
- 当我重命名时
.htaccess
,似乎一些现有的 PHP 请求将被取消。然后当我将其重命名时,仪表板将很快,因为请求可以立即得到处理。 - 和vBulletin
/forums/
只会增加 PHP 请求的数量,从而导致等待时间更长或等待更频繁。因此,当我删除它们时,似乎可以“解决”问题。 - 该限制似乎是针对特定域的,请参阅 PHP FPM 错误日志。主域 example.com 主要由外部访问者访问,因此会出现问题,而其他域实际上是用于测试目的,因此没有人会访问它,并且他们会受到该问题的严重影响。
希望这能帮助其他有类似问题的人。再次感谢大家!