Windows 服务器上的 MySQL 5.5 速度非常慢

Windows 服务器上的 MySQL 5.5 速度非常慢

在 Windows Server 2003R2 或 2008R2 下完全相同的硬件/数据库/环境下,我没能使 MySQL 5.5 达到与 5.1 或 MariaDB 一样快的速度。

我们的应用程序的基准:

MySQL 5.5 + CentOS 5.2 (XenServer Virtual) = 28 seconds (box is "busy" not buried)
MariaDB (5.1) + Windows 2003 (Physical box) = 130 seconds (box is 2% busy)
MySQL 5.1 + Windows 2003 (Physical box) = 170 seconds (box is 2% busy)
MySQL 5.5 + Windows 2003 (Physical box) = 305 seconds (As high as 600 seconds...) (box is 2% busy)

这些运行之间的唯一区别是删除跳过锁定并运行 mysql_upgrade.exe 来更新 5.5 上存储过程的某些表。

是的,我知道它是一个候选版本,我也将其反馈给 MySQL。

没有记录任何慢速查询,它不认为它很慢,它只是很慢。

我将开始深入研究查询本身,以查看 INSERT/SELECT 计划是否在 5.5 上出现问题。

答案1

看一眼http://bugs.mysql.com/59133。它可能大多数时候都在刷新到磁盘(框忙 2% 就是一个强烈的暗示)经过仔细考虑后,您可能希望设置以下组合

innodb_support_xa=0

innodb_flush_log_at_trx_commit = 0#还是2?

sync_binlog=0

看看会发生什么。

一旦你的负载达到 CPU 限制,那么使用 Win2008R2 就有意义了,一些改进专门针对 Vista+,

答案2

我的电脑出现了问题,请求速度比同事的电脑慢 10 倍以上。我使用了他的my.ini文件,重新启动了服务器,问题就解决了。

经过几次测试后,结果发现特定的设置产生了巨大的差异innodb_flush_method=normal(添加了该行,因此似乎我的服务器之前使用了一些默认值)。

此外,行sql-mode已被注释掉,但不知道这是否会改变什么。

相关内容