分析windows性能监视器常用计数器(good)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最近研究性能测试工具中发现这些所谓的性能测试工具的数据、全部来至windows操作系统提供的数据、然后通过API提供给性能测试工具、性能测试工具在用一种比较直观的图形展示出来。也就是说不部分情况下如果把你没有弄明白性能监视器中数据得意义,那么性能测试工具的那些图表对你的意义也就没有多大的用处。下面我整理了一部分windows中性能监视器中比较常用的性能计数器。

这里整理的比较多的内容:处理器对象、系统对象、逻辑磁盘对象、物理磁盘对象、内存。这些性能计数器我们经常在使用的过程中都会用得到,所以这篇文章大部分内容是这些的。

▪ 1. 处理器对象(Processor Object)

一条经验规则是不要使你所监控的每个处理器的C P U使用率高于9 0%。峰值超过9 0%是可以接受的,但平均使用率超过9 0%则是应该避免的。

• 处理器时间百分比(%Processor Time)处理器执行一个非空闲线程的时间百分比。用%1 0 0减去处理器空闲的总时间得出这个值。这是整个系统的C P U使用的一个好的指示器。

• 特权时间百分比(%Privileged Time) 处理器用于在特权模式下(即,执行操作系统功能和运行驱动器,如I / O )工作时间的百分比。这个时间包括C P U (或C P U )用于维护中断和延迟过程调用( D P C )的时间。

• 用户时间百分比(%User Time) 处理器用于在用户模式工作的时间百分比。这种类型的工作是由应用产生的。通常,希望极大化用户时间百分比的值,极小化特权时间百分比的值。

• 中断时间百分比(%Interrupt Time) CPU忙于维护硬件中断的时间百分比。系统中的许多硬件部件,如鼠标、网络接口卡或磁盘控制器,都可以发出处理器中断。你可以将中断看作为Windows NT正常操作的一部分发生。

• 中断数/秒(Interrupts/sec) 处理器每秒接收并处理的硬件中断的数量。它不包括系统

D P C,系统D P C单独计数。

▪ 2. 系统对象(System Object)

系统对象与它的相关计数器衡量处理器上运行的线程的总计数据。虽然使用这些计数器不能观察一个特定处理器的工作负载或一个特定线程的行为,但它们提供了有关整个系统性能有价值的内部信息。系统计数器如下所示:

• 处理器队列长度(Processor Queue Length) 处理器队列中的线程的数量。换句话说,它

是等待运行的线程数。即使你的系统具有多个处理器,但只有一个队列用于处理器时间。计数器只记录那些准备执行但仍处于等待的线程,不是那些正在运行的线程。

• 环境切换/秒(Context Switches/sec) 系统上的所有处理器从一个线程切换到另一个线程的组合比率。当一个正在运行的线程自动地放弃处理器,处理器由一个高优先级的待命线程抢占时发生环境切换,或在用户模式和特权(核心)模式之间切换,以使用一个执行或子系统的服务。这是线程的总和:计算机上运行在所有处理器上的所有线程的环境切换数/秒。

这个Processor Queue越大,对硬件性能的考验就越大,微软在windows2000时推荐的是如下:

1。对于多核系统(〈=3CPUS)推荐值为1-3

2。对于四核以及以上的,推荐值为4-12

但是目前操作系统为2003,CPU的硬件性能已经得到很大的提高,系统的处理能力也有所增强。所以该性能检测的阈值可适当放大

紧紧靠系统的队列平均数还是不够的,还要查看你的CPU的利用率和内存的使用情况

故总结如下

1:检查系统的CPU\MEM利用率,如果CPU利用率比较高\MEM比较高(同时大于50%).队列长度比较大的情况下,就要考虑升级硬件了

2:CPU利用率一般(目前的CPU处理能力得到很大的提升,问题一般不会出在这里。)而内存的利用率比较高(70%),队列长度大于10,就要考虑升级内存了。

3:如果CPU和MEM利用率都不高,可按照OPmanager推荐的做法来设置监控阈值

▪ 3. SQL Server:缓冲区管理器对象( B u ffer Manager Object)

缓冲区管理器计数器提供了SQL Server使用的内存缓冲区的有关信息。这些计数器如下所示:

• 高速缓存命中率( B u ffer Cache Hit Ratio)引用当前位于高速缓存中页的需求的百分率。预先在内存中拥有页,允许SQL Server避免请求从磁盘子系统执行一次物理I / O。因为访问内存相对于访问物理I / O,代价更小,一个高的缓冲区高速缓存命中率增强了系统的性能与吞吐量。如果你的系统很好地调整过,这个命中率应该是8 0%或更高。如果具有一个低的缓冲区高速缓存命中率,你应该为SQL Server分配更多的内存。如果你已将现有的所有内存都分配给了SQL Server,那么需要增加系统中物理内存的数量。

• 高速缓存大小(页)(Cache Size) 在SQL Server缓冲区高速缓存中的页的数量。这个数量乘以8 K B,即可得到正在使用的以千字节为单位的缓存数。

• 空闲缓冲区(Free Buffer) 空闲SQL Server内存缓冲区的数量。

• 读的页/秒(Page Reads/sec) 每秒请求的物理数据页I / O的数量。

• 偷取的页计数(Stolen Page Count) SQL Server用于缓冲区高速缓存的页数,这些内存被给予系统中的另外一个进程。Windows NT回收这个内存以满足其他系统部件的需要。

• 写的页/秒(Page Writes/sec) 由SQL Server执行的每秒写的物理数据页的数量。

▪ 4. SQL Server:数据库对象(Database Object)

数据库对象计数器提供了有关SQL Server数据库的信息,包括可用的空闲日志空间量和数据库中活动事务的数量。对于系统中的每个数据库的每个计数器有一个实例。这些计数器包括如下:

• 日志刷新等待/秒(Log Flush Wait/sec) 在能够继续执行前,必须等待日志刷新的数据库提交数量。

相关文档
最新文档