我试图弄清楚为什么从12个固态硬盘构build的虚拟驱动器的性能并不比单个SSD驱动器快。
服务器是IBM x3650 M4,两个至强E5-2643v2 130W 6C 3,5GHz。 集成RAID控制器ServerRAID M5110e具有BBU和1GB闪存选项。 连接12个固态硬盘“IBM SSD S3500 240GB SATA 6,4cm MLC HS,6.0 GB / s”。
RAID1或RAID10虚拟驱动器是使用MegaRAID存储pipe理器创build的,具有以下属性:不提前读取,使用BBU写回,直接IO,128k条带大小。
我用ATTO Disk Benchmarktesting了性能,下面是64k读/写的结果(对于其他块大小的读/写性能也不能缩放):
2 drives in RAID1: Write 1969 MB/s Read 2458 MB/s 4 drives in RAID1: Write 1801 MB/s Read 2365 MB/s 6 drives in RAID1: Write 1614 MB/s Read 2381 MB/s 12 drives in RAID1: Write 1544 MB/s Read 2432 MB/s 12 drives in RAID10: Write 1738 MB/s Read 2465 MB/s
我还订购了IBM选件
“MegaRAID FastPath SSD性能加速MegaRAID FastPath软件通过利用极低延迟的I / Opath来提高控制器的最大I / O(IOPS)能力,为基于SSD的虚拟驱动器提供高性能I / O加速。此function可提高高度随机数据存储访问模式(如事务数据库)的应用程序性能,该function通过启用M5100系列性能加速器(90Y4273)来激活。
但是从我所了解的情况来看,这只会使虚拟驱动器的性能提高2或3倍。
我想知道控制器是否是一个瓶颈?
我用IOmetertesting了一个20 GB的数据集,一个工人,64 KiB 100%读取,0%随机,运行五分钟:
RAID1 of 2 drives: Total IOPS 6917, Total MBPS 453 RAID1 of 4 drives: Total IOPS 9121, Total MBPS 597 RAID1 of 6 drives: Total IOPS 11186, Total MBPS 733 RAID1 of 8 drives: Total IOPS 12959, Total MBPS 850 RAID1 of 10 drives: Total IOPS 14677, Total MBPS 962 RAID1 of 12 drives: Total IOPS 16351, Total MBPS 1071 RAID10 of 12 drives: Total IOPS 18390, Total MBPS 1205 RAID0 of 6 drives: Total IOPS 16140, Total MBPS 1057 RAID0 of 12 drives: Total IOPS 19562, Total MBPS 1282 RAID5 of 12 drives: Total IOPS 18988, Total MBPS 1244 Tests with 50% reads, 50% writes: RAID5 of 12 drives: Total IOPS 4621, Total MBPS 303 RAID10 of 12 drives: Total IOPS 4967, Total MBPS 325 RAID10FP of 12 drives: Total IOPS 11803, Total MBPS 773
当购买FastPath选项被激活时,RAID10FP是测量。
您的iometer结果看起来与您所期望的一致。 我认为testing工具/协议是这里的问题,而且你的数组没有问题。 不过,一定要使用FastPath,因为它确实可以提高SSDarrays的性能。
这里的问题是LSI控制器的写回function,这只对HDD有意义。 对于SSD总是使用写通过,没有预读和DirectIO(即使与RAID5)。 然后你看到更多的SSD的预期performance…
您的卡无法足够快地发送数据,以使驱动器饱和。 也就是说,虽然固态硬盘的速度很快,但随机查找读取的速度却很快。 尝试使用小块随机读取来运行基准testing,并测量可以获得的IO / s的数量。