3.2.5 第4步:创建性能测试场景

对于您所创建的每一个性能测试,您要考虑到以下几点。

·您的性能测试属于哪种类型的性能测试:基准测试、负载测试、渗透测试还是压力测试?对于标准场景,首先要作为一个单用户为每一个事务独立地进行基准测试,直到这个事务当前目标最大化,或者吞吐量达到最大值。如果在这个阶段出现了错误,那么您可能需要运行每一个单独的测试来定位并解决这些问题。其次集合所有的事务,对其进行负载测试,直到出现错误,并对其作更进一步的独立的测试。然后您可能想为最后测试环节做渗透和压力测试,在上述这些测试类型完成之后在最后可能会做一些与性能无关的测试,这些测试将会注重于优化负载平衡配置或者对不同的灾难恢复机制进行验证。

·决定如何在测试中体现每一个事务的思考时间和步进时间(Pacing),正常情况下要在所有测试类型(压力测试除外)里设置思考时间和步进时间(Pacing),否则您所获得的事务吞吐量的值将不能反映用户真实的情况。

·对于每一个事务,您要决定部署多少负载生成器,每个负载生成器上部署多少虚拟用户。正如上文提到的,如果您已经大规模地部署了负载生成器,那么您要保证当出现问题时,会有本地专家(负载生成器本地)来解决他们。

·为每一个负载生成器部署“爆炸式(Big Bang)”,“渐进(ramp-up)”,“渐进(ramp-up)”/“渐退(ramp-down)”等负载生成类型。根据您的测试目标,负载类型可能会包含用来表现静止负载的“爆炸式(Big Bang)”类型与用于测试扩展性的一个或多个“渐进(ramp-up)”/“渐退(ramp-down)”的变量类型。图表3-2展示了一个采用这种方法的性能测试计划。底部暗色的长方形代表“爆炸式(Big Bang)”部署创建的静态负载,在此之上的各种其他的负载是部署的“渐进(ramp-up)”类型。

·测试能否在指定的时间内一直执行,还是会因为测试数据的不足而中断,事务可以多次重复,还是需要用户的干预?如果你的测试是由数据驱动的,那么要保证你已经创建了足够的数据用于测试。

·您是否需要使用IP地址欺骗来准确实现程序负载均衡的需求?如果需要的话,那么用户需要提供一份合法的IP清单。

3.2.5 第4步:创建性能测试场景 - 图1

图 3-2 使用静态负载的性能测试计划和持续增加的负载测试

·您是否需要模拟不同的链接速率?如果需要的话,就得确定是否能提供不同的链接速率。在执行性能测试之前对所有响应时间的预测或者容量建模的执行,都会让你了解到带宽限制对于应用程序的影响。

·根据已经设定的服务器和网络KPI指标来确定在性能测试过程中需要配置哪种类型的性能监控软件?如果那些监控软件合适的话,实际的监控软件应该作为测试环境的一部分搭建起来,并且您还需要对软件环境中的监控目标有相当清楚的了解。

·如果这是一个基于网络的性能测试,您还要考虑需要模拟什么级别的浏览器缓存,是新用户、当前用户、还是已经访问过的用户。这在很大程度上取决于性能测试解决方案的承受能力。具体情况请参见第5章关于缓存模拟的论述。

·要考虑应用技术对您的性能测试设计的所有影响。比如使用SAPGUI客户端用户的SAP性能测试会比一个简单的终端模拟器需要更多资源,因此这就需要更多负载生成器生成指定数量的虚拟用户。在第5章中会讨论影响到SAP以及别的应用技术的其他因素。