我有一个RAID 1设置,平均每个磁盘40 – 60个I / O和0.5个平均磁盘队列长度。 根据BOL下面的例子 ,这不是一个瓶颈。
磁盘读取/秒80
磁盘写入/秒70
平均。 磁盘队列长度5在这种情况下,每个磁盘遇到(80 +(2 * 70))/ 2 = 110个I / O,而您的磁盘队列长度= 5/2 = 2.5,表示边界线I / O瓶颈。
这使我想到高I / O有多高? 平均磁盘队列长度是相当有据可查的,每个CPU不应该超过2个,但是BOL没有提到每个磁盘的I / O?
快速说明…“平均磁盘队列长度有很好的logging,因为它不应该超过每个CPU 2”应该是“平均磁盘队列长度有很好的logging,它不应该超过每个主轴2”,但是常识并不是一成不变的。
有关此主题的更多信息,请访问Microsoft SQL支持小组: http : //blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx
当我读到你的问题时,你想知道一个硬盘有多lessIOPS(IO每秒)。 答案是“当你有更多的驱动器支持”。 一个15K的希捷猎豹支持比5400 RPM的笔记本电脑驱动器更多的IOPS。 在您的情况下,您将驱动器设置为RAID 1(增加了冗余,但是在您将相同的数据写入两次时减less了可用的IOPS)。
由Wikipedia( http://en.wikipedia.org/wiki/IOPS )提供,一些标准的数字:
磁盘读/写数据本身不会(对我而言)具有定义的特定高I / O的意义,因为硬件的进步会使得这些事情在短期内过时。 关键在于寻找造成延迟的原因,而不是简单地指出什么可能是无害但频繁的磁盘活动。
这是关于SQL Server硬件瓶颈的一篇不错的文章
您的磁盘制造商应提供有关您可以处理的IOPS种类的信息。 与磁盘队列一样重要的是sec / read和sec / write – 持续超过15-20ms的内容可能会受到伤害。