在做性能测试的时候,在使用LR或者jmeter等一些性能测试工具测试执行结束后,首先要做的是判断采集到的结果数据是否真实有效。多数的性能测试场景都要迭代的进行测试,因此很多测试结果本身就不能反应问题,深入分析这样的结果没啥意义。下面说一下就有效的测试结果数据进行分析做一些思考后的见解。
1、在整个测试场景的执行的时候,你要留意测试的环境是否正常,测试的过程中是否发生异常,如果发生异常,应该立刻终止测试,应为异常的测试结果是不准确的,没有意义。
举个栗子:
你在测试的过程当中,如果你发现测试机的CPU利用率经常达到100%、测试环境的网络不稳定、系统的配置参数不正确等外部的原因导致系统出现了异常的运行,这样的测试结果没有必要进行分析。这是应该先把这些问题搞定了在重新进行测试。
2、测试场景的设置是否正确、合理。当你的测试出现异常的时候,你有分析是不是异常的原因是什么,是外界原因还是系统本身原因,外界原因有配置、网络、还有就是你的场景设置本身就有问题,这点往往是你在设计的时候考虑欠缺导致的额。
举了栗子:
比如你在测试的时候,你以上来就加载全部的虚拟用户,比如同时加载1000个虚拟用户,如果客户端都还没来得及处理,这时就会出现有很多虚拟用户因不能初始化而导致失败,失败的原因就是还没有链接应用服务器。这是压力压根就没有传过去。所以正确的做法应该是可以使用逐步加压的方式尽量的把所有的数据都加载进去。
3、分析试结果直接暴露出系统问题。测试结果中正常的,往往没有必要进行分析,因为他是正常的。这时应该进一步进行测试分析,比如加压等。在加压测试的时候能反映出的问题有很多:
例如在测试中一些常见的事务响应时间过大,并发用户过低,服务器资源利用率过高CPU、内存使用过高。对于这些问题,需要深入分析其原因。
性能分析的原则
这处理这个过程中,总共有两个时间段,Tn,这个是网络的响应时间;Ts,这个是服务器的处理时间,包括应用服务器和数据库服务器的响应时间。通过将这两个的时间进行对比,就能分析出性能问题是网络问题还是服务器问题了。
场景设计
经过分析,场景设计不必覆盖所有功能模块,只需要测试系统中使用比较频繁的功能即可。
测试场景中设计的内容主要有登录、查看、添加、删除、修改等基本操作。
测试场景详细如下:具体参考Excel表
(1)登录(如表1-1)
表1-1登录测试场景
功能 |
系统支持多个用户并发进行登录 |
|||
目的 |
测试多用户登录时系统的处理能力 |
|||
方法 |
模拟多个用户在客户并发进入系统的操作 |
|||
执行时间 |
5min/10min/15min/20min/25min/30min |
|||
加载方式 |
逐步加载(每秒50个) |
|||
并发用户数与事务执行情况 |
||||
并发用户数 |
平均事务响应时间 |
最大事务响应时间 |
事务成功率 |
平均流量(bit/s) |
500 |
|
|
|
|
1000 |
|
|
|
|
1500 |
|
|
|
|
2000 |
|
|
|
|
2500 |
|
|
|
|
3000 |
|
|
|
|
3500 |
|
|
|
|
(2)查询(如表1-2)
表1-2 查询测试场景
功能 |
系统支持多个用户并发进行查询 |
|||
目的 |
测试多用户查询设备时系统的处理能力 |
|||
方法 |
模拟多个用户在客户登录、然后并发查询设备的操作 |
|||
并发用户数与事务执行情况 |
||||
并发用户数 |
平均事务响应时间 |
最大事务响应时间 |
事务成功率 |
平均流量(bit/s) |
500 |
|
|
|
|
1000 |
|
|
|
|
1500 |
|
|
|
|
2000 |
|
|
|
|
2500 |
|
|
|
|
3000 |
|
|
|
|
3500 |
|
|
|
|
(3)查询-修改设备(混合场景)(如表1-3)
表1-3 查询-修改设备测试场景
功能 |
系统支持多个用户并发进行查询、然后修改设备信息 |
目的 |
测试多用户查询设备时系统的处理能力 |
方法 |
模拟多个用户在客户登录、然后并发查询设备后进行修改设备的操作 |
并发用户数与事务执行情况 |
||||
并发用户数 |
平均事务响应时间 |
最大事务响应时间 |
事务成功率 |
平均流量(bit/s) |
500 |
|
|
|
|
1000 |
|
|
|
|
1500 |
|
|
|
|
2000 |
|
|
|
|
2500 |
|
|
|
|
3000 |
|
|
|
|
3500 |
|
|
|
|
测试的实施
模拟用户数 |
测试内容 |
测试结果 |
备注 |
500 |
通过jmeter测试系统是否支持500用户并发访问系统 模拟用户的操作有以下: 1、登录 2、登录、查询 3、登录、查询、修改 |
通过/不通过 |
按照场景进行测试 |
1000 |
|
|
|
1500 |
|
|
|
2000 |
|
|
|
2500 |
|
|
|
3000 |
|
|
|
3500 |