器列队中总是有两个以上的线程通常表示处理器堵塞 Processor %Processor Time CPU 使用率。这是查看处理器饱和状况的最佳计数器。显示所有 CPU 的线程处理时间。如果一个或多个处理器的该数值持续超过 90%,则表示此测试的负 载对于目前的硬件过于沉重。为多处理器服务器添加该计数器的 0 到 x 个实例 Context Switches/sec 指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率。当正在运行的线程自动放弃处理器时出现上下文转换, 由一个有更高优先就绪的线程占先或在用户模式和特权(内核)模式之间转换以使用执行或分系统服务。它是在计算机上的所有处理器上运行的所有线程的Thread: Context Switches/sec 的总数并且用转换数量衡量。在系统和线程对象上有上下文转换计数器 小于75%。排除内存因素, 如果该计数器的值比较大, 而同时网卡和硬盘的值比较低, 那么可以定CPU 瓶颈 System Context Switches/sec 如果切换次数到5000*CPU个数和10000*CPU 个数中, 说明它忙于切换线程而不是 处理ASP 脚本 Processo %Privileged Time % Privileged Time 是在特权模式下处理线程执行代码所花时间的百分比。当调用 Windows 系统服务时, 此服务经常在特权模式运行, 以便获
取对系统专有数据的访问。在用户模式执行的线程无法访问这些数据。对系统的调用可以是直接的(explicit)或间接的(implicit), 例如页面错误或中断。不像某些早期的操作系统,Windows 除了使用用户和特权模式的传统保护模式之外, 还使用处理边界作为分系统保护。某些由Windows 为您的应用程序所做的操作除了出现在处理的特权时间内, 还可能在其他子系统处理出现 Time Switches/sec ( 实例化inetinfo 和dllhost 如果你决定要增加线程字节池的大小,你应该监视这三个计数器( 包括上面的一个)。增加线数可能会增加上下文切换次数, 这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高, 就应该减小线程字节池的大小 Time 这两个计数器能够反映处理器用在处理中断以及推迟处理调用的时间。如果处理器使用率超过Interrupts/sec 指处理器每秒钟接收并维90% 且 硬件中断的平均值。正常的线程操作在中断时悬停。大多数的系统时钟每Interrupt Time 大于隔 10 毫秒中断 Processor Interrupts/sec %DPC Time 如果处理器使用率超过90%,且Interrupts/sec time大于15%则处理器可能负载过重,并发生中断
处理器一次, 形成了间15%, 则处理隔活动的后台 Processor Interrupts/sec %DPC Time 这两个计数器能够反映处理器用在处理中断以及推迟处理调用的时间。如果处理器使用率超过Interrupts/sec 指处理器每秒钟接收并维90% 且 硬件中断的平均值。正常的线程操作在中断时悬停。大多数的系统时钟每Interrupt Time 大于隔 10 毫秒中断处理器一次, 形成了间15%, 则处理隔活动的后台。器可能负荷过重, 并发生中断。判断应用程序是否存在处理器瓶颈的方法: 如果Processor Queue Length 显示的队列长度保持不变(>=2) 个并且处理器的利用率%Processor Time 超过90%, 那么很有可能存在处理器瓶颈。
如果发现Processor Queue Length 显示的队列长度超过2, 而处理器的利用率却一直很 低, 那么或许更应该去解决处理器阻塞问题, 这里处理器一般不是瓶颈。如果系统由于应用程序代码效率低下或者系统结构设计有缺陷而导致大量的上下文切换(Context Switches/sec 显示的上下文切换次数比较大), 那么就会占用大量的系统资源。如果系统的吞吐量降低并且CPU 的使用率很高,并且此现象发生时切换水平在15000 以上, 那么意味着上下文切换次数过高同时还可以比较Context Switches/sec 和%Privileged Time 来判断上下文切换是否过量。如果后者的值超过40%, 且上下文切换的速率也很高, 那么应该检查为什么会产生这样高的上下文切换。
5.3 网络吞吐量以及带宽
Object Network Interface Counter Bytes Total/se Description Bytes Total/sec 为发送和接收字节的速率, 包括帧字符在内。判断网络连接速该计数器的值和目前网度是否是瓶颈, 可以用该计数器的值和络的带宽相目前网络的带宽比较 参考值 改计数器的值和目前网络带宽相除,结果应该小于50% Web Servic Maximum Maximum Maximum Maximum Connections Connections :“ 最大连接数” Attempts Total Connection Attempts :“ 连接尝
试总数” 是从服务启动时利用 Web 服务尝试连接的总数。该计数器应用于全部所列的实例。 5.4 磁盘相关
Object( 对象) Counters( 计数器名称) Description( 描述) 参考值 Object Network Counters Bytes Total/sec Description Bytes Total/sec 为发送和接收字节的速Interface 率, 包括帧字符在内。判断网络连接速度是否是瓶颈, 可以用该计数器的值和目前网络的带宽比较 参考值 Processo %Processor Time % Privileged Time CPU 使用率该计数器 对应于处理器执行Windows. 2000 内核命令( 如处理SQL Server I/O 请求) 所用时间的百分比。如果 Physical Disk 计数器的值很高时该计数器的值也一直很高, 则考虑使用速度更快或效率更高的磁盘子系统。 % Disk Time 指所选 磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大, 那 么硬盘不是瓶颈。如果只有%Disk Time 比较大, 另外两个都比较适中, 硬盘可能PhysicalDisk %Disk Time
会是瓶颈。在记录该计数器之前, 请 在 Windows 2000 的命令行窗口中运行 diskperf -yD 。若数值持续超过 80%, 则可能内存泄漏。 PhysicalDisk AverageDisk Queue Length 指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。 指在此盘上读取操作的速率 指在此盘上写入操作的速率 PhysicalDisk PhysicalDisk PhysicalDisk Disk Writes/sec 判断磁盘瓶颈的方法是通过以下公式来计算:
每磁盘的I/O 数 = [读次数 + (4 * 写次数)] / 磁盘个数
如果计算出的每磁盘的I/O 数大于磁盘的处理能力, 那么磁盘存在瓶颈。
5.5 Web应用程序
这里以ASP.NET 开发的Web 应用程序为例进行说明。 Object ASP.NET Applications Counters Request/Sec Request Executing Description 参考值 每秒执行的请求数。 如果Request/Sec ApplicationsRequest Executing 当前执行的请求数。的值比较小, 你 的Web 程序可能 是瓶颈 ASP.NET ASP.NETRequestWait 最近的请求在队列中 Time 等待的毫秒数。执行Request Executing 最近的请求所用的毫Time 秒数。Queued 在理想 状况下应该接近0, Request Queued 等候处理的请求数。该计数器应保持接近 0。超过 IIS 队列长