LSI 9260-8i限制为最大200 MB / s(独立于驱动器)

LSI MegaRAID 9260-8i控制器的最大传输速率限制为200 MB / s。 服务器是HP DL180 G6,使用CentOS 7(64位),我们正在testing4TB SAS驱动器(型号:WD4001FYYG)。 控制器正在使用iBBU08(512caching)。 我们已经testing了启用/禁用caching和直接I / O,但是并没有解决问题。

根据我们的testing,同时写入两个不同的虚拟磁盘(一个6个磁盘的RAID10驱动器和一个单个磁盘的RAID0驱动器),我们得到最大的。 读取时最大为200 MB / s。 写入时为200 MB / s。

我们validation了在不同的驱动器上同时运行时性能下降,因为带宽(约200MB / s)在不同的独立操作磁盘驱动器操作(瓶颈)之间共享。

结论:

LSI控制器将带宽限制为最高200 MB / s。

为什么发生这种情况? 我们如何解决它? 可能与PCI卡有关吗? 我们可以测量转移率吗?

PS:问题已经在支持票SR#P00117431中提交,但是在发送详细信息之后,我们停止从AVAGOTECH(前LSI)获得答案。

谢谢

这是我们的IOtesting:

— 1)单驱动IOtesting—

写testing:

# sync # echo 3 > /proc/sys/vm/drop_caches # dd if=/dev/zero of=/tmp/test bs=8k count=1M conv=fsync 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 46.7041 s, 184 MB/s 

阅读testing:

 # sync # echo 3 > /proc/sys/vm/drop_caches # dd if=/dev/zero of=/tmp/test bs=8k count=1M conv=fsync 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 47.1691 s, 182 MB/s 

— 2)两个驱动器并发IOtesting—

我们将重复以前的testing,但同时在第二个独立驱动器上运行相同的IO操作。 因此,同一个驱动器现在只能执行50%,这certificate了第二个驱动器(/ mnt / sdb / test)上的IO在LSI控制器上共享一些有限的资源。

写testing:

过程1:

 [root@hp ~]# sync [root@hp ~]# echo 3 > /proc/sys/vm/drop_caches [root@hp ~]# dd if=/dev/zero of=/tmp/test bs=8k count=1M conv=fsync 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 87.8613 s, 97.8 MB/s 

过程2:

 [root@hp ~]# dd if=/dev/zero of=/mnt/sdb/test bs=8k count=1M conv=fsync 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 86.3504 s, 99.5 MB/s 

阅读testing:

过程1:

 [root@hp ~]# dd if=/tmp/test of=/dev/null bs=8k count=1M 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 81.5574 s, 105 MB/s 

过程2:

 [root@hp ~]# dd if=/mnt/sdb/test of=/dev/null bs=8k count=1M 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 84.2258 s, 102 MB/s 

这很容易发生,因为驱动器上的4k扇区是512e(您没有指定驱动器型号,所以这是一个疯狂的猜测,但考虑到它是4TB的驱动器,我会说它是高级格式 )。 所以我会检查你的操作系统是否知道你的扇区的大小,除非你想读 – 修改 – 写循环。 这意味着正确的分区alignment和您正在使用的文件系统的块大小。

是的,没有这样的事情, HP DL 180 G7 ,gen6是最后一个,那么模型指数从180改变。

以防万一,这里有相当不错的文章 (是的,你正在使用CentOS,但是……你知道的,就内部而言,它基本上是一样的)。

另一件事,你应该检查和启用 – 这是控制器写入caching,当然,如果你有一个BBU。

那么这里还没有足够的信息。

首先,驱动器是什么? 型号和SAS版本支持?

其次,你是从另一个驱动器或arrays写入数组? 或者写入和读取同一个数组? 如果你把它全部保存在同一个arrays中,那么无论SAS是全双工的,如果数据分布在相同的磁盘上,而是将硬盘本身的可用IO分成两半(最好)重读/写每个磁盘自己的限制,从磁盘操作的angular度来看,它可以处理…

另外,如果你从Raid0到RAID10来回读写,那么你的瓶颈就是单个驱动器。 你将只能得到一个驱动器可以处理的最大速度。 顺便说一下200M B (1.6Gb s粗略)对单个硬盘来说不坏。

也许你正在实现你的卡交付的最大IOPS:对于8K数据包,以200 MB / s的速度写入/读取意味着约25K IOPS的日照率。

你可以重新尝试更大的数据包(即:使用bs = 1M或类似的)? 它会改变什么吗?