我们正在Windows Server 2008r2上运行MySQL 5.6。
每隔30分钟,它会缓慢运行约40秒,然后又恢复正常30分钟。这就像发条一样,每次“挂起”都是在最后一次结束后30分钟。
有什么想法吗?我们很困惑,不知道旁边要看什么。
我们在下面排除的背景/事物。
谢谢。
•我们最初的想法是锁定查询,但我们已将其消除。
•缓慢的查询日志显示了受影响的查询,但锁定时间为零。
•常规日志什么都没有显示(顺便说一句,是否有一种方法可以提高日志记录级别,使其在刷新缓存等时将其记录下来?MySQL每30分钟运行一次)
•当它运行缓慢时,它仍在运行,但是即使是简单的查询(例如选择“ Hello World”)也是如此;花一秒钟的时间来运行。
•所有MySQL操作在相关时间运行缓慢,包括监视工具,尤其是建立新连接。 InnoDB和MyISAM受到同等影响。
•我们已经从使用SAN阵列切换为使用本地SSD,并且在排除磁盘/主轴方面没有区别。
•该计算机具有Sophos Endpoint Protection,但这并未扫描数据库驱动器上的任何内容。
•好像机器已经用完了,但是本地性能监视的确显示了任何异常的系统指标。 CPU,磁盘队列,磁盘吞吐量,内存,网络活动等都是固定的。
•该计算机是在VMware上运行的VM。虚拟机监控程序监视未显示任何性能问题-但我不认为它足够细致,可以承受30秒的峰值。
•我们已经尝试调整MySQL设置,例如InnoDB缓存大小,日志大小等,但这没有任何区别。
•服务器只运行几个MySQL实例。
•其他实例不受影响-据我们所知。
答案 0 :(得分:0)
关于服务器故障,这里有一些不错的建议:
https://serverfault.com/questions/733590/mysql-stops-responding-periodically
您是否监视了磁盘I / O? I / O等待时间是否增加了? 排队的交易?请求可能在排队 由于主机施加的I / O限制而导致的存储级别。也, 您是否检查过您允许的最大mysql客户端? 如果这些查询突然花很长时间才能完成,那就是 也有可能没有为 正常的网站流量,因为其他连接没有快速关闭 足够。
我建议使用IOSTAT并查看您是否使磁盘饱和。它应该显示您所有磁盘的使用率是否均为100%,等等。