圣剑-Windows提供的新的底层监测功能 SQL2012
圣剑-Windows提供的新的底层监测功能 SQL2012
《SQL2012实施与管理指南》十二章 SQLSERVER I/O问题 P564
在Windows2008或者Windows2008R2上,你只要安装如下补丁,就能获得该新功能
KB979764(Windows2008)
KB978000(Windows2008R2)
上述补丁对Storport.sys做了一定改动,这些改动会记录下操作系统发给磁盘子系统I/O请求之后,请求完成情况的详细
时间统计信息。
该信息通过Port Driver、Storport.sys以ETW(event trace for Windows)
的方式来获得。
这个工具的原理是让用户提供一个阀值,如果任何一个I/O请求磁盘子系统的完成时间超过了这个阀值,Windows就会产生一个事件(event)
如果某个磁盘子系统在某段时间产生了很多这样的事件,那就说明该子系统存在性能问题。用户可以通过跟踪这些事件,了解磁盘子系统的健康
情况和响应速度
打开perfmon性能监视器
1、
2、
3、
4、
5、
6、
7、
8、
9、
超过阀值就会在事件查看器看得到,事件编号为13,event 13 ,StorPort
在事件的属性里
portnumber:这是适配器的端口号(raidport1等)
targetID:目标LUN
LUN:进行该I/O的目标物理存储
RequestDuration:I/O请求所耗时间(毫秒),这是我们关注的重点
Command:所发送的SCSI命令请求编号
ScsiStatus:设备返回的状态
SRBStatus:适配器返回的状态编号
当我们在看这个日志的时候,大量的命令会是读或者写。如果我们发现I/O在这个级别上很慢,RequestDuration很长,那么多数情况就会是磁盘存储的问题了