3

我正在排除一系列重复出现的错误:WordPress database error MySQL server has gone away for query ...

我想我在这里找到了一个解决方案,但它已经有几年历史了,我想更好地了解 MySQL wait_timeout 以及它与 Wordpress 的关系,然后再开始使用核心文件或重新配置我的服务器。(我在虚拟专用服务器上,所以我可以选择更改服务器上的 wait_timeout。)

我通过SHOW VARIABLES;从 phpMyAdmin 运行检查,wait_timeout 当前设置为 35。这对我来说似乎很低,但我不完全理解它的作用。我正在考虑将其更改为600。

我的主要问题是这是否是一件负责任的事情。但我认为更广泛的问题可以分成更小的部分: 1. 我可以选择用 PHP(Wordpress)覆盖这个设置吗?2. 中大型 Wordpress 网站的最佳设置是什么?3. 是否有任何 Wordpress 配置选项或过滤器可以用来更改设置而无需修改核心文件?

谢谢。

4

1 回答 1

2

wait_timeout 是 mysql 在基本上关闭它之前保持非交互式连接打开的时间。

因此,将其增加到 600 秒可以解决您的问题,但是,如果您将其设置为 600 秒,并且有很多人同时在您的网站上运行缓慢的页面,您可能会达到 mysql 开始拒绝连接然后apache 将开始排队请求,直到它随后拒绝请求并且您的服务器开始潜水。

我的建议是尝试找出单个请求花费超过 35 秒的原因,因为老实说,从博客到我的单个页面上的加载时间似乎相当长。

于 2013-01-07T16:52:02.010 回答