4.3.2 深入挖掘

当然,可扩展性和响应时间的分析仅仅是性能分析的一部分。当遇到像图4-14中的问题的时候,那么需要找出出现问题的原因。这时候服务器和网络KPI将在结果分析中起到关键作用。

检查KPI数据,看看是否存在哪些指标与所观察到的可扩展性/响应时间变化相关。一些性能工具提供自动关联的功能,能够在测试完成后提供这些信息。另外一些性能测试工具则需要或多或少付出一些手工的劳动去获取这些关联信息。

下面的图例说明如何通过这种类型的分析,使服务器KPI数据与可扩展性和响应时间关联起来。

图4-16是建立在图4-14基础之上的,不同之处在于图4-16上增加了一个称为“上下文切换”[1]的Windows服务器KPI指标。这个指标在Windows服务器上可以很好地显示CPU是如何处理活动线程请求的。该例子表明CPU利用率很快就达到一个较高的平均值,说明在施加负载时CPU的处理能力不足,于是,它对应用程序的效扩展能力和响应时间都产生了负面的影响。

4.3.2 深入挖掘 - 图1

图 4-16 上下文切换速率和可扩展性/响应时间关联模型

[1]“上下文切换(context switches per second)”是指计算机中的所有处理器从一个线程切换到另一个线程的组合平均速率。在下列情况下可能会发生上下文切换:正在运行的线程自动放弃处理器,处理器由优先级较高的就绪线程先占,或在用户模式和特权(内核)模式之间切换,以便使用Executive服务或子系统服务。此计数器是计算机中所有处理器上正在运行的所有线程的“线程\每秒的上下文切换次数”之和,以切换次数为度量单位。“系统”和“线程”对象上有上下文切换计数器。