升级到5.6.27后,mysql的性能降低

时间:2015-11-17 03:28:36

标签: mysql performance

我们的应用程序使用MySql版本4.0.24很长一段时间。我们正在尝试将其迁移到5.6.27版。 但是,在测试5.6.27的性能时,即使简单的选择和更新在我们进行负载测试时也要慢30-40%。 CPU和IO速度比旧服务器好得多。两个版本中表的存储引擎都是MyIsam。数据库只有一个连接。我们尝试了以下选项:

  1. 将存储引擎更改为InnoDb - 这会大幅降低性能(降低70%)
  2. 更改innodb日志大小和缓冲区大小 - 没有多大帮助
  3. 使用表的MyIsam存储引擎增加密钥缓冲区大小。 - 没有区别
  4. 我们尝试修改其他参数,例如query cache,tmp_table_size,heap_table_size。但是,他们都没有任何区别。

    如果我们可以尝试其他任何选项,请告诉我吗?

    这是my.cnf的副本:

    lower-case-table-names=1
    myisam-recover=FORCE
    key_buffer_size=2000M
    

2 个答案:

答案 0 :(得分:0)

您可以看到的一些事情是两台服务器是否具有相同数量的RAM,因为旧服务器可能具有更多RAM,因此可以在内存中缓存更多内容。

您还可以查看如何连接到MySQL服务器 - 是通过网络吗?网络速度/质量是否不同?是一台服务器是在本地访问而另一台是通过网络访问的。

您尝试调整了一些好的参数,但是如果有一些您丢失的参数,您可以在两台服务器上运行DataLoader( __dirname, function (data) { console.log(data); }); ,然后使用Winmerge之类的工具比较两者的值并查看你可能没有想到的可能有什么不同。

答案 1 :(得分:0)

尝试多个选项后,以下是适用于我们的配置。可能还有其他解决方案,但这对我们有用。

选项1:

  1. 关闭效果架构
  2. 添加了几个jdbc连接参数:useConfigs = maxPerformance& maintainTimeStats = false
  3. 选项2:

    迁移到MariaDB。从性能的角度来看,这非常好。与我们系统的mysql相比,它的性能提高了5%。但是,由于非技术原因,我们无法追求这一选择。

    感谢您的投入。