在最近将MySQL 5.1迁移到一台新的、速度更快的服务器之后,我看到了一些查询运行缓慢的偶然和看似随机的时期。尽管进行了大量的调查,我还是找不到问题的根源。
在这篇文章的结尾,我列举了几个具体的问题,但除此之外,我不知道现在该去哪里。如果您能提出任何可能的解决方案或我可以使用的工具,我将非常感谢。
每隔一两天,一小群查询将随机出现在我的慢速查询日志中,通常在两三分钟内出现。这些查询通常在30-60毫秒内执行,花费的时间要长得多--在6到20秒之间。慢速查询日志并不表示这些查询的任何锁定时间。
迁移到新的数据库服务器后,问题变得很明显。这两台服务器都在MySQL 6下运行CentOS 5.1,并且都使用SSD进行数据库存储。与旧服务器不同,新服务器使用Linux软件RAID-1运行两个SSD。虽然硬件已经发生了变化(不同的数据中心,不同的网络),但是软件没有改变,迁移时的CentOS版本和应用程序版本是一样的。应用程序代码也保持不变。
非常感谢在这个令人沮丧的问题上的任何帮助!
发布于 2018-03-02 18:46:53
来解决的。
较长版本:
我花了很多时间花了几个月的时间,试图弄清上面描述的性能问题。作为权宜之计,我尽一切可能防止并发查询导致大量IO (例如备份和搜索引擎索引)。然而,这并没有真正解决问题,也没有回答我发布的问题--它只是用一个IO密集型的进程阻塞数据库活动来掩盖潜在的问题。
我的“答案”,如果你可以这么说的话,最终是通过转向更现代的硬件来实现的。与使用消费者级美光SSDs的旧系统不同,新服务器使用IBM数据中心SSDs和更快的处理器。否则,软件配置与上面测试的系统相同(相同的操作系统、相同的MySQL用例、相同的mdraid 1配置,等等)。
我只能假设新系统的更好的SSD和/或更现代的主板和芯片组更好地处理并发操作。无论数据库服务器发生了什么情况,我都不再经历任何类型的缓慢查询。数据库操作似乎不像以前那样受到磁盘活动的影响。
因此,如果您正在经历奇怪的数据库查询减速,并且找不到任何应用程序级的原因,请不要忘记将底层硬件视为可能的源。尝试从不同的主机提供商租用一个月的新专用服务器或VPS,复制您的软件配置,并尝试一下。为我工作!
https://dba.stackexchange.com/questions/154635
复制相似问题