我们有一个已部署到 50 多个网站的应用程序。在这些站点中,我们注意到了一个奇怪的行为,我们现在已经将其跟踪到一个特定的查询。偶尔,通常一天一到两次,我们的一个调试脚本报告
2006 : MySQL server has gone away
我知道引发此错误的原因有很多,但最奇怪的是,每次引发此错误时,都会发生在运行的同一个 SQL 查询中。这个查询没有什么奇怪或复杂的,它看起来像这样:
SELECT `advert_only` FROM `products` WHERE `id` = '6197'
对于各种不同的产品 ID,此查询每天必须运行数万次,因此它肯定不会每次都失败。它在我们 4 台服务器上看似随机的站点上随机失败。似乎没有共性,我们注意到的一件小事是,有时会在 1 个特定人的连续 2 或 3 个页面加载时发生,因为我们还跟踪它发生的人的 IP。
这是在运行 MySQL 5.0.81 的 CentOS 5 服务器上