SQL Server 的 BACKUPIO 等待类型是什么意思?

SQL Server 的 BACKUPIO 等待类型是什么意思?

我使用的是 SQL Server 2008(“R1”),并制定了一些将数据库备份到网络共享的维护计划。我的一些备份作业显示“BACKUPIO”类型的长时间等待。

当然,这似乎是 I/O 子系统的限制,但我对此持怀疑态度。生产(源)服务器上的 I/O Perfmon 统计数据完全符合该服务器的正常趋势。目标服务器显示持续 7MB/s 的写入速率,即使对于速度较慢的磁盘来说,这个速率也似乎低得令人难以置信。网络链路是千兆以太网,远未达到饱和状态。

我找到的几份关于 BACKUPIO 的文档表明,这并不是专门等待 I/O,这很令人惊讶。这份 MSFT 文档说,除非您使用磁带驱动器(而我没有使用磁带驱动器),否则这种情况是不正常的。但它没有说明(或者我不明白)缺少的确切资源。 http://www.docstoc.com/docs/24580659/Performance-Tuning-in-SQL-Server-2005

这篇文章说这与 I/O 性能根本无关。 http://www.informit.com/articles/article.aspx?p=686168&seqNum=5 “请注意,BACKUPIO 和 IO_AUDIT_MUTEX 与 IO 性能无关。”

无论如何,有谁知道 BACKUPIO 实际上是什么意思以及/或者我可以做些什么来诊断或消除它?

更新:我在目标磁盘上显示 100% 以上的磁盘时间,这听起来像是磁盘瓶颈而不是网络。它是 7200RPM 的单主轴,但我仍然怀疑 7MB/s 是否是磁盘可以达到的最佳速度。

答案1

通过网络共享进行备份会将所有网络延迟时间显示为“BACKUPIO”等待时间。您的问题不太可能出在 SQL 堆栈中,您必须检查网络堆栈,更具体地说是 SMB 堆栈。Windows 7、Windows Server 2008 和 Wk28 R2 在网络堆栈中发生了重大变化,其中一些已知会导致某些高带宽/高延迟场景的传输速率变慢,特别是当新的接收窗口自动调整搞砸了某些事情时。

更多详情,请参阅Windows Vista/Windows Server 2008 与 Windows XP/Windows Server 2003 之间的网络性能差异

相关内容