我们有一个受到重创的实时服务器,所以我们正在努力优化我们所能做的一切。我们在上面运行了 MySQLTuner 脚本 ( http://mysqltuner.com/ ),它告诉我们应该为 wait_timeout 和 interactive_timeout 设置一个小于 28800 的值。在 1 到 28800 之间有很多可能的数字可供选择!
我在 MySQL 文档中查找了这些变量的含义,但只给出了非常基本的描述,没有选择值的指导。
是否存在被认为是公认的最佳实践的值?选择过低的值可能会产生什么结果?
谢谢,
巴特。
wait_timeout 是不活动期间 MySQL 在关闭非交互式连接上的连接之前将等待的秒数。interactive_timeout 是一样的,但是对于交互式会话(mysql shell)
将值设置得太低可能会导致连接意外断开,特别是当您在 Web 应用程序中使用持久连接时。
将值设置得太高可能会导致旧连接保持打开状态,从而阻止对数据库的新访问。
IMO,对于 wait_timeout,您希望此值尽可能低,而不会影响可用性和性能。如果您发现性能下降,您可以从 10 秒开始,然后逐渐增加它。
对于 interactive_timeout,更改此值不会真正提高或降低应用程序的性能。