查看SQL Server性能时常用的性能计数器
Windows帮助中,索引:Logman可查看性能计数器命令行。
在SQL Server出现性能问题的时候,查看数据库服务器的性能计数器,能够帮助大家迅速定位问题或者缩小问题范围,找到磁盘、CPU、内存等瓶颈。
以下说几个最主要的计数器:
-----------------------------------------------------------------------------
Memory: Pages/sec
描述:这个计数器记录每秒中RAM和硬盘上虚拟内存交换(换出+换入)的页数。
范围:如果SQL Server是这个服务器上唯一主要运行的应用,则这个值应该在0-20之间。当超出这个范围,建议增加物理内存。
Memory: Available Bytes
描述:服务器可用的物理内存字节数
范围:这个计数器的平均值应该>5MB,SQL Server 2005 会试图一直维持4-10MB这个范围。当小于建议范围的时候,可以尝试提高SQL Server的性能,包括增加/3GB开关在Boot.ini文件。
SQL Server: Buffer Manager: Buffer Cache Hit Ratio
描述:这个计数器相当重要,它说明了SQL Server 从缓冲区获取数据的命中率(如果缓冲区没有,只能去访问硬盘)。
范围:这个值应该在90%以上,理想情况是99%以上。当值比较低的时候,建议增加物理内存。
Physical Disk: Avg. Disk Queue Length
描述:这个计数器表明的是物理磁盘阵列的压力,即目前磁盘读取和写入请求队列的平均值。
范围:对单独的一个磁盘,如果其值大于2(如果是做了RAID的一组盘,假定有5个物理盘,则此判定值为2*5=10),且持续10分钟以上,则你可能碰到了磁盘I/O的瓶颈。因此这个值对单个磁盘应该<=2。
Physical Disk: % Disk Time
描述:这个计数器是判定物理磁盘阵列压力的指标。(不能针对一个逻辑分区或者阵列中的独立磁盘)
范围:如果这个值超过55%并持续10分钟以上,则数据库碰到了磁盘I/O瓶颈。因此这个值应该<=55%。
Processor: % Processor Time
描述:在数据库服务器上,每一个CPU都有此计数器的一个实例,它表明了独立CPU的利用率。
范围:如果总的% Processor Time (_Total) 超过80%且持续10分钟以上,就可能碰到了CPU的瓶颈。因此应该 <=80%。
System: Processor Queue Length
描述:CPU处理任务队列中的任务个数。
范围:如果每个独立CPU,这个数值超过2,且持续10分钟以上,就可能碰到了CPU的瓶颈。因此对于每个独立CPU应该 <=2。