SSD mdadm raid0 性能低

SSD mdadm raid0 性能低

我有一台 ubuntu server 12.04,带有软件 raid0 intel sata3 ssd(2*480GB)。raid 用于 postgresql 数据库。有 51% 的 raid 空间是空闲的。

postgres 关闭后,“dd”命令显示性能约为 10mb/秒。正常运行时间为 2 周。

系统重启后,raid 再次正常工作并且“dd”显示大约 700-800mb/秒。

猫/proc/mdstat

md127 : active raid0 sdd1[0] sdc1[1]
  937700352 blocks super 1.2 512k chunks

为什么正常运行时间较长时性能会下降?

mdadm 版本 - 3.2.5

答案1

我建议您检查日志(/var/log/*)中是否存在“由于过多错误而禁用 NCQ”之类的消息,此消息和类似消息(尝试查找其中带有“ata”的任何内容)表明您的 SATA 链接存在错误,这些错误可能会导致 Linux 禁用 NCQ,然后您将获得非常糟糕的性能。

不久前我在我的博客上写过一个更长的版本:http://blog.disksurvey.org/blog/2013/10/28/ncq-disabled/

错误可能来自磁盘本身或链接,您可以尝试更换电缆。博客文章指出了可以采取的一些其他措施来缓解此问题。

答案2

虽然不完全是 OP 所寻找的,但我认为使用 dd 并不是最佳做法。

总体而言,DD 更适合用于磁盘映像而非基准测试。请使用 Fio。

sudo dnf install fio 或 sudo apt-get install fio

4k随机测试

fio --filename=/dev/sdx --direct=1 --rw=randrw --refill_buffers --norandommap --randrepeat=0 --ioengine=libaio --bs=4k --rwmixread=100 --iodepth=16 --numjobs=16 --runtime=60 --group_reporting --name=4ktest

8k混合测试

fio --filename=/dev/sdx --direct=1 --rw=randrw --refill_buffers --norandommap --randrepeat=0 --ioengine=libaio --bs=8k --rwmixread=70 --iodepth=16 --numjobs=16 --runtime=60 --group_reporting --name=8k7030test

取自:http://www.storagereview.com/fio_flexible_i_o_tester_synthetic_benchmark

一旦您确定您的原始磁盘正常运行,请通过 madam 创建 raid-0 单元,然后在分区之前再次测试它们,但这次不要传递 /dev/sd{x},而是传递您调用的 raid 阵列,一旦满意,请根据需要创建对齐的分区并进行测试,然后,一旦完成,请格式化、挂载并进行测试。

相关内容