3

我正在测试与 MySql 一起使用的 SSD,但看不到任何性能优势。这让我觉得我一定做错了什么。

这是设置:

  • 至强 5520 2.26 Ghz 四核
  • 12GB 内存
  • 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 ~= 3,000,000 行在 4.21 秒内

SELECTS 几乎相同,SSD 上的写入速度实际上更慢,这看起来根本不对。关于我接下来应该研究什么有什么想法吗?


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

4

3 回答 3

13

两点:

  1. 我认为您的 15k 驱动器的写入速度比 SSD 快一点也不奇怪。闪存写入缓慢。在内部,NAND 闪存是面向页面的(页面>扇区)。因此,为了写入一个扇区,SSD 读取页面,替换 512 字节,擦除页面,最后写入页面。

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

于 2010-10-02T05:18:55.813 回答
1

您所有的测试都应该在类似的条件下进行。IE。初始化磁盘、重新启动、加载数据、运行选择。关闭。然后重复。如果这给出了更好的指示,那么关于一个比另一个更好或更差。

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

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

于 2010-10-02T02:39:33.157 回答
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

于 2015-05-21T19:49:38.237 回答