SQL Server 2005 的高 I/O 有多高?

Nai*_*Nai 2 sql-server-2005

我有一个 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?

Sea*_*arp 6

快速澄清......“平均磁盘队列长度有据可查,因为每个 CPU 不应超过 2”应该是“平均磁盘队列长度有据可查,因为它不应该超过每个主轴 2”,但是常识不一定是真的。

Microsoft SQL 支持团队提供的有关此主题的更多信息,请访问:http : //blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx

在我阅读您的问题时,您想知道硬盘驱动器的 IOPS(每秒 IO 数)是多少。答案是“当您拥有超过驱动器支持的数量时”。15K Seagate Cheetah 支持的 IOPS 比 5400 RPM 笔记本电脑硬盘多得多。在您的情况下,您将驱动器设置为 RAID 1(这增加了冗余,但在您两次写入相同数据时会降低可用 IOPS)。

由维基百科 ( http://en.wikipedia.org/wiki/IOPS ) 提供,一些标准数字:

  • 7200RPM SATA 驱动器 - ~90 IOPS
  • 10kRPM 串行连接 SCSI 驱动器 - ~ 140 IOPS
  • 15kRPM 串行连接 SCSI 驱动器 - ~180 IOPS
  • 简单的 SLC SSD - ~400 IOPS
  • 英特尔 X-25 M(MLC;截至 2009 年 3 月[更新],无竞争)- ~1,500 IOPS
  • 英特尔 X-25 E(SLC;截至 2009 年 3 月[更新],无竞争) - 约 5,000 IOPS(英特尔的数据表称 3,300 写入,35,000 读取 IOPS,而 5,000 为混合测量)
  • ioDrive,带闪存的 PCI-Express 卡 - >80,000 IOPS
  • DDRdrive X1,2009 年 5 月基于 PCI Express 的固态驱动器 - 300,000+(512B 随机读取 IOPS)和 200,000+(512B 随机写入 IOPS)
  • Violin Memory Appliance,1,000,000+ 随机读取 IOPS