牛婧娴 发表于 2012-3-31 10:15:35

LoadRunner中判断应用程序是否存在处理器瓶颈的方法

本帖最后由 牛婧娴 于 2012-3-31 10:17 编辑

1、如果Processor Queue Length显示的队列长度保持不变(>且=2),并且处理器的利用率%ProcessorTime超过90%,那么有可能存在处理器瓶颈

2、如果Processor Queue Length显示的队列长度超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。

如果系统由于应用程序代码效率底下或者系统结构设计有缺陷而导致大量的上下文切换(Context Switches/sec 显示的上下文切换次数比较大)那么就会占用大量的系统资源

3、如果系统的吞吐量降低并且CPU的使用率很高,并且此现象发生时切换水平在1500以上,那么意味着上下文切换次数过高。同时还可以比较Context Switches/sec和%Privileged Time来判断上下文切换是否过量。如果后者的值超过40%且上下文切换的速率也很高,那么应该检查为什么会产生这样高的上下文切换。

Context Switches/sec 计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率
希望有经验的高手们再来补充下,这是我平时工作总结得到了这些结果

irisfly89 发表于 2012-3-31 10:32:38

Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。


%Processor Time:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。

%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。



%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。

此外,跟踪计算机的服务器工作队列当前长度的 Server Work Queues\\ Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。
页: [1]
查看完整版本: LoadRunner中判断应用程序是否存在处理器瓶颈的方法