我正在排查一系列重复出现的错误:WordPress database error MySQL server has gone away for query ...
我想我找到了一个解决方案here,但它已经有几年了,我想在开始使用核心文件进行修改或重新配置服务器之前,更好地了解MySQL wait_timeout及其与Wordpress的关系。 (我在虚拟专用服务器上,所以我可以选择更改服务器上的wait_timeout。)
我通过从phpMyAdmin运行SHOW VARIABLES;
来检查,而wait_timeout当前设置为35.这对我来说似乎很低,但我不完全明白它的作用。我正在考虑将它改为600。
我的主要问题是这是否是一件负责任的事情。但我认为更广泛的问题可以分为更小的部分: 1.我可以选择使用PHP(Wordpress)覆盖此设置吗? 2.对于中大型Wordpress网站,最佳设置是什么? 3.我是否可以使用任何Wordpress配置选项或过滤器来更改设置而不修改核心文件?
感谢。
答案 0 :(得分:2)
wait_timeout是mysql在关闭之前保持非交互式连接打开的时间。
因此将其增加到600秒可以解决您的问题,但是,如果您将其设置为600秒并且您有很多人在您的网站上运行慢速页面,同时您可以达到mysql开始拒绝的程度连接然后apache将开始排队请求,直到它随后拒绝请求并且您的服务器进行潜水。
我的建议是尝试找出为什么单个请求占用超过35秒,因为说实话,从博客到我这一页上的加载时间似乎相当长。