监视磁盘活动

来源:互联网 发布:求质数算法C语言 编辑:程序博客网 时间:2024/04/28 23:42

监视磁盘活动


Microsoft® SQL Server™ 使用 Microsoft Windows NT® 4.0 或 Windows®2000I/O 调用来执行磁盘读写操作。SQL Server 对何时及如何执行磁盘 I/O 进行管理,而 Windows 操作系统执行基础的 I/O 操作。I/O 子系统包括系统总线、磁盘控制卡、磁盘、磁带驱动器、CD_ROM 驱动器以及许多其它 I/O 设备。 磁盘 I/O 是导致系统瓶颈的最常见的原因。

 

监视磁盘 I/O 及检测过度换页


可以对下面两个计数器进行监视以确定磁盘活动:

  • PhysicalDisk:% Disk Time
  • PhysicalDisk:平均Disk Queue Length

在系统监视器(Windows NT 4.0 中的性能监视器)中,PhysicalDisk:% Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk:% Disk Time 计数器的值很高(大于 90%),检查 PhysicalDisk:Current Disk Queue Length 计数器,看有多少系统请求在等待访问磁盘。等待 I/O 请求的数量,应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘;通过软件创建的 RAID 设备显示为多个实例。

用 Current Disk Queue Length 和 % Disk Time 计数器的值可以检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:

  • 使用速度更快的磁盘驱动器。
  • 将某些文件移到其它磁盘或服务器。
  • 如果正在使用一个 RAID 阵列,则在该阵列中添加另外的磁盘。

如果正使用一个 RAID 设备,% Disk Time 计数器可能会显示一个大于100% 的值。如果是这样,用 PhysicalDisk:Avg.Disk Queue Length 计数器确定平均有多少系统请求正在等待访问磁盘。

 

I/O 依赖的应用程序或系统可能会使磁盘持续处于活动状态。

 

监视 Memory:Page Faults/sec 计数器以保证磁盘活动不是由换页造成的。在 Windows NT 4.0 或 Windows 2000 中,换页的原因有:

 

  • 配置进程的占用了过多的内存。
  • 文件系统活动。

如果在同一硬盘上有多个逻辑分区,使用 Logical Disk 计数器而非 Physical Disk 计数器。查看逻辑磁盘计数器有助于确定哪些文件被频繁访问。当发现磁盘有大量读/写活动时,查看读写专用计数器(如 Logical Disk:Disk Write Bytes/sec),确定导致每个逻辑卷负荷增加的磁盘活动类型。

隔离 SQL Server 产生的磁盘活动

要确定由 SQL Server 组件产生的 I/O 操作量,检查以下操作的性能:

  • 向磁盘写入页
  • 从磁盘读取页

SQL Server 执行的页读写数可用 SQL Server:Buffer Manager Page Reads/secPage Writes/sec 计数器进行监视。若这些计数器的值将要达到硬件 I/O 子系统的容量极限,则需要减小这些值,方法是调整应用程序或数据库以减少 I/O 操作(如索引覆盖、索引优化或规范化),增加硬件的 I/O 容量或添加内存。

原创粉丝点击