我build立了两个与fiberchannel连接的DS4100 SAN。 我已经设置了多种RAIDconfiguration:在每个SAN中跨越4个磁盘的RAID10,less数几个RAID5。 (硬件RAID由DS4100处理)
我正在运行32位Windows 2008 Datacenter版本。 我通过光纤通道将服务器连接到SAN。 我禁用了“用镜像写caching”。
现在无论我做什么,我都无法从SAN存储中获得超过40MB / s的性能。 我希望有更多的4个条纹磁盘(RAID10,8总数)或RAID5中的6个磁盘。
RAID5中的6x400GB SATA磁盘性能如何?
任何想法我可以检查,以find它为什么这么慢?
让我们谈谈每秒I / O操作(IOPS)
如果你认为你有这些磁盘 ,他们的平均延迟是4.17毫秒(这是由磁盘大小和他们的转速(在这种情况下,7200RPM))。 您还需要知道平均读/写查找时间才能真正计算IOPS。 这个网站声称平均寻找时间是12毫秒(这是可怕的,并将成为你的问题的原因,我们将看到…)
确定IOPS是非常不准确的,因为要做到这一点,您需要知道您的读取百分比与您的写入百分比(写入比读取要慢,因为显然头部需要更精确地放置)。
IOPS的计算是1 /(平均等待时间+平均寻道时间),所以每个驱动器将能够为1 /(0.00417s + 0.012s),或1 / .01617,或正确的60 IOPS。
所以这是一个动力。 但你有几个!
你提到了一个8磁盘的RAID-10arrays。 这太好了,因为当你需要两次写入数据的时候,你可以一次读完所有8个数据。
假设100%读取工作负载,60 IOPS X 8驱动器= 480 IOPS。
尽pipeIOPS与吞吐量有什么关系? 那么,我们必须回到“不精确”的部分,因为它取决于磁盘I / O的百分比是随机的。
在100%的随机工作量上,你可以假设一个操作给你一个块。 那么,块的大小有多大?
根据这个PDF ,DS4100有一个16k块大小。
我们可以用它来计算你可以得到的绝对数量的输出。
在大约480 IOPS的情况下,其中每个都是16KB,你将以7.68MB / s的速度完成一个纯粹的随机工作。 因为你的工作量不是随意的,所以你的速度是5.25倍。
看,我严重怀疑你会用这些驱动器拉大量的。 12ms的寻找时间几乎是犯罪的,如果真的是这样(查出),再加上你也可能写入arrays,即使你不知道你是。
我的build议是:了解你的I / Oconfiguration文件的样子。 最大限度地减less写入的数量(如果你不关心POSIX的兼容性,可以挂载它)。 获得更好的磁盘。