.htaccess 使 WordPress 仪表盘变得非常非常慢

.htaccess 使 WordPress 仪表盘变得非常非常慢

今天突然发现 WordPress Admin 界面非常非常慢,访问帖子列表、插件列表等需要 60 秒甚至更长时间,或者直接显示超时错误。

我尝试了以下方法:

  • 重新启动 Apache 服务。
  • 重启服务器。
  • 更改 PHP.ini 设置。然后重新启动服务器。

但一切都不起作用。最后我执行了以下步骤:

  1. 将 .htaccess 重命名为 .htaccess.backup。
  2. 然后仪表板就很快了。但是 WP Rocket 抱怨它无法访问 .htaccess。笔记:根据我的测试,重命名.htaccess后,我必须访问一个页面,然后转到步骤3将解决问题。如果跳过步骤2,则速度不会改变。看起来,通过访问该页面,.htaccess 将被加载到 Apache。
  3. 将 .htaccess.backup 重命名为 .htaccess。

尽管 .htaccess 的内容从未改变,但仪表板仍然很快。

为什么?我不明白为什么暂时重命名 .htaccess 可以永久解决问题,即使 .htaccess 内容实际上根本没有改变。

更新:

后续更新:

  1. 出现此问题是因为我想在我们网站的子文件夹中安装 vBulletinhttps://www.example.com/forums/
  2. 问题发生时,同一域下的所有 WordPress 实例,即https://www.example.comhttps://www.example.com/blogs/https://www.example.com/license/都非常慢。但是,其他域下(但在同一服务器中)的 WP 实例不受影响。
  3. 在我备份并删除 /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 名儿童。

现在错误不再出现。仪表板总是非常快。

解释:

  1. 当我的 PHP 请求排队并等待另一个请求完成时,仪表板变慢。
  2. 当我重命名时.htaccess,似乎一些现有的 PHP 请求将被取消。然后当我将其重命名时,仪表板将很快,因为请求可以立即得到处理。
  3. 和vBulletin/forums/只会增加 PHP 请求的数量,从而导致等待时间更长或等待更频繁。因此,当我删除它们时,似乎可以“解决”问题。
  4. 该限制似乎是针对特定域的,请参阅 PHP FPM 错误日志。主域 example.com 主要由外部访问者访​​问,因此会出现问题,而其他域实际上是用于测试目的,因此没有人会访问它,并且他们会受到该问题的严重影响。

希望这能帮助其他有类似问题的人。再次感谢大家!

相关内容