调整SSD MySql性能

时间:2010-10-02 02:23:01

标签: mysql performance optimization ssd

我正在测试SSD与MySql一起使用,我无法看到任何性能优势。这让我觉得我必须做错事。

以下是设置:

  • Xeon 5520 2.26 Ghz Quad Core
  • 12 GB Ram
  • RAID 1中的300GB 15k
  • RAID 1中的64GB SSD

对于测试,我移动了SSD上的mysql目录。

我导入了一个包含300万行的表。然后导入相同的表,其中数据和索引目录符号链接到15k驱动器。

通过mysqldump的转储将数据加载到表中15k驱动器显示出比SSD更快的插入速率:

  • 15k~ = 35,800次插入/秒
  • SSD!= 27,000次插入/秒

然后我通过'SELECT * FROM table INTO OUTFILE'/tmp/table.txt'来测试SELECT速度:

  • 15kk~ = 3,000,000行,4.19秒
  • SSD~ = 4.21秒内3,000,000行

SELECTS几乎完全相同,并且SSD上的写入实际上更慢,这似乎根本不对。关于我接下来要研究什么的任何想法?


额外注意:我使用标准更改调整了SSD:noatime和noob-scheduler

3 个答案:

答案 0 :(得分:13)

两点:

  1. 我认为您的15k硬盘写入速度比SSD快,并不令人惊讶。闪存写入速度慢。在内部,NAND闪存是面向页面的(页面>扇区)。因此,要编写扇区,SSD会读取页面,替换512个字节,擦除页面,最后写入页面。

  2. 您的测试完全是顺序的。您的写入测试是通过转储加载,您的读取测试是“SELECT * ...”。 SSD驱动器的真正优势在于它们的随机读取速度。你的测试不是强迫15k HD经常寻找,所以你真正测试的只是接口速度。

答案 1 :(得分:1)

所有测试都应该在相同的条件下进行。 IE浏览器。初始化磁盘,重启,加载数据,运行选择。关掉。然后重复一遍。如果这给出了更好的指示,那么一个是好还是坏一个。

完成此操作后,您可以调查测试是否实际上对15磁盘征税。如果两个测试都没有给你的系统带来压力,那么我会说你没有发现需要特殊升级的瓶颈,比如这个。

一旦有,请发布结果。这将使分析和调整更容易。

答案 2 :(得分:1)

我会使用一些更好的工具来运行测试。其中一个工具是Linux的FIO,它可以为您模拟所有类型的读/写IOPS场景。我建议您检查RAID控制器并确保它具有SSD驱动器的优化。较旧的RAID控制器从未设计用于SSD,而且通常说它们表现不佳。例如,对于戴尔服务器,您需要使用永不生成的PERC 710H来充分利用您的SSD。智能RAID控制器还可以在常规机械驱动器前备用SSD进行缓存,从而提高整体读/写性能。

我最近写了一篇关于这个主题的博客文章,你可能会觉得有帮助。我还包括一些基准测试结果SSD与机械磁盘。

http://www.juhavehnia.com/2015/05/using-ssds-to-improve-mysql-performance.html

祝你的考试好运, Juha Vehnia