增加MySQL wait_timeout的影响

时间:2015-06-15 11:49:16

标签: php mysql architecture

我们目前对MySQL查询的超时(?)超时,设置为15秒。因此,当我们的服务器处于压力之下时,我们会收到很多超时。不幸的是,我们使用的CMS很难处理这些超时,有时会缓解数据库的错误结果。我们也非常关注这个CMS,因此我们无法轻易改变。

我一直在考虑提高MySQL的时间限制,看看这是否会改善这种情况。但是,我不确定更改此设置的后果:是否会导致客户端挂起太长时间,占用资源并最终使系统更慢?

在更改此参数后,衡量MySQL的性能是好还是差的有什么好方法?

此外,如果超时继续发生,处理它们的最佳方法是什么?我正在考虑为每个失败的查询抛出一个异常,并向我们的用户抛出一个大的错误标志。我认为快速失败可能会更好。"而不是显示部分正确的结果。

1 个答案:

答案 0 :(得分:0)

看起来你确定MySQL查询处理是超时的,而不是php请求处理。你肯定知道,这是一个重要的区别。

在具有天真用户的在线系统中(即大部分用户!)过早放弃请求并返回错误通常会适得其反。为什么?因为用户只是再次尝试,单击,单击,单击,所以您的服务器容量会被烧毁,从而提供垃圾而不是有用的结果。

查询超时时间比平常短15秒。你应该尝试将它增加到一分钟。

我建议您尝试确定应用程序中的哪些查询需要很长时间。可能只有一些需要太长时间。您应该尝试优化这些请求,或者使它们稍微难以使用。如果您增加超时,那些有问题的查询将开始显示在slow query log