低SSD mdadm RAID 0性能

我已经得到了与软件raid0英特尔sata3 ssd(2 * 480GB)的Ubuntu的服务器12.04。 raid用于postgresql数据库。 有51%的空间是免费的。

在postgresclosures之后,“dd”命令显示约10mb / sec的性能。 正常运行时间是2周。

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

cat / proc / mdstat

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

为什么性能下降,正常运行时间很长?

mdadm版本 – 3.2.5

我build议你检查一下你的日志(/ var / log / *)是否有类似的消息,比如“由于过多的错误而禁用了NCQ”,这个和类似的消息(试图查找任何含有“ata”的东西)表明你是在您的SATA链接上有错误,这可能会导致Linux禁用NCQ,然后您将得到一个非常糟糕的performance。

前段时间我在博客上写了一个更长的版本: http : //blog.disksurvey.org/blog/2013/10/28/ncq-disabled/

错误可能来自磁盘本身或来自链接,您可以尝试更换电缆。 博客文章指出了一些可以减轻这个问题的方法。

不完全是OP所要查找的,但在我看来,使用dd并不是最佳实践。

总体来说,DD比基准testing更适合成像磁盘。 使用Fio。

sudo dnf安装fio或sudo apt-get install fio

4k随机testing

 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混合testing

 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

一旦你确定你的原始磁盘正在执行,请通过女士创buildraid-0单元,然后在分区之前再次testing它们,但是这次而不是/ dev / sd {x}传入你所谓的raid数组满意,根据需要创build你的分区alignment,然后testing一下,然后在那里进行格式化和安装并testing。