我最近将我的网站移到了新服务器(Apache 2、PHP5、MySQL5)。该站点是一个基于 Invision 的论坛。每隔几个帖子/主题就会挂起。数据已写入,因为如果您停止并重新加载,帖子/线程就在那里。我最初认为这是一个写入问题,但不是。数据已写入,但页面加载从未完成。它不会离开输入数据的页面。
解决此问题的最佳方法是什么?我最近做的唯一一件事是减少我的 MySQL 超时,但我看不出这是一个问题,因为值仍然足够大并且 MySQL 日志中没有提到超时。作为记录,PHP 的错误日志中也没有任何内容。
编辑:我检查了我的服务器状态。一切看起来都不错,但我怀疑我正在达到我的 ServerLimit,所以我加倍了。还启用了我的 Keepalives。会留意的。
编辑 2:现在已经有几天了,这种情况仍在发生。不过我有更多信息;
- Apache 抛出 seg 错误,但启用核心转储不会产生它们。
- 我曾尝试禁用 apache 中的模块,但它只是停止工作。
- 我担心它实际上可能与 DNS 有关。如果我在 Firefox 中观看 Live Headers,那么在这个“挂起”期间绝对不会发生任何事情。在那之后,响应很快就回来了。
更新(05/04):我从源代码构建了最新版本的 Apache 和 PHP,但运气不好。然后我删除了这些并使用 remi repo 将我所有的包更新到最新的稳定版。段错误似乎已经停止,但挂起仍在继续。
ini
位于:
- www.skylinesaustralia.com/php.ini
- www.skylinesaustralia.com/my.cnf
- www.skylinesaustralia.com/httpd.conf
更新 - 解决了!- 问题是在 MySQL 中有一个巨大的查询缓存大小。它是 2GB,将其更改为 64M 对其进行了排序。