性能测试报告编写说明
目 录
1. 概述
1.1 编写目的
说明XXX系统进行压力测试时的一些前提条件及具体操作,以及如何在工具报告中提取哪些相应信息填写在报告内容中,为以后新增交易压力测试报告编写提供参考等。
1.2 参考资料
《XXX系统项目性能测试方案.doc》
《XXX系统项目性能测试报告.doc》
1.3 注意事项
压力测试报告中的数据与具体部署运行环境硬件配置、应用服务器、数据库服务器参数配置相关。
2.
3. 测试相关准备
3.1 系统相关参数配置说明
1、调整应用程序日志打印级别全部为ERROR级,同时不打印交易日志信息;
2、调整App服务器单个Server的线程池数(WebContener)为100至200;
3、保证应用程序使用JNDI数据库连接池方式访问数据库,连接池数量为100至200;
4、保证连接安全子系统TCPIP通讯缓冲池初始值为100,最大值为300;
5、保证连接短信发送平台的TCPIP(NATP报文)通讯缓冲池初始值为100,最大值为300;
6、App服务器JVM内存堆设置(测试环境单个server:256至512),负载测试时,最好取消监控垃圾回收监控项。
3.2 测试报告环境准备
1、启动App服务器(测试环境:10.10.0.100)NMON监听,每10秒获取一次CPU、IO资源信息,取15分钟内的数据大约100执行次左右,具体命令为:nmon -f -t -s 10 -c 100;
2、启动DB2服务器(测试环境:10.10.2.100)NMON监听,每10秒获取一次CPU、IO资源信息,取15分钟内的数据大约100执行次左右,具体命令为:nmon -f -t -s 10 -c 100;
3、启动JMeter监听器中的“用表格察看结果”、“聚合报告”、“察看结果树”至少三项。
3.3 JMeter测试举例
3.3.1 准备测试脚本
1. 打开JMeter安装路径下的bin目录,运行jmeter.bat命令,出现下图所示:
2. 右击“测试计划”,新建线程组,右击“线程组”,选择“SOAP/XML-RPC Request”
3. 填写名称、URL及SOAP/XML-RPC Data,如下图所示:
4. 添加监听器,用于统计性能测试结果,如下图所示:
至此,测试脚本准备完毕,接下来可以进行压力测试。
3.3.2 启动NMON监听
1、telnet到测试环境App服务器10.10.0.100,进入nmon目录,执行“nmon -f -t -s 10 -c 100”命令,将自动在nmon目录下以当前时间命名的监听文件,如下图所示:
2、telnet到测试环境数据库服务器10.10.2.100,进入nmon目录,执行“nmon -f -t -s 10 -c 100”命令,将自动在nmon目录下以当前时间命名的监听文件,如下图所示:
3、nmon -f -t -s 10 -c 100命令说明:-s 每隔多少秒统计一次,以秒为单位;如20,则每20秒统计一次;-c 统计多少次之后即停止。
3.3.3 执行测试用例
1. 点击线程组,设置线程属性中的线程数、Ramp-Up Period、循环次数,如下图所示:
2. 点击“运行”—“启动”
3.3.4 查看测试结果
监听器中可以添加“用表格查看结果”、“查看结果树”、“聚合报告”、“图形结果”、“Summary Report”等,如下图所示:
查看结果树:
聚合报告:
3.3.5 编写测试报告
测试报告中包含了测试模型的介绍描述及测试结果分析,测试结果分析中需要包含不同并发情况下,事务平均响应时间、吞吐量、交易成功率、应用服务器和数据库CPU资源、IO使用率等数据的统计信息。
3.3.5.1 统计JMeter测试结果
从JMeter测试的聚合报告中,我们可以获取“事务平均响应时间”、“吞吐量”、“交易成功率”等参数,如下图所示:
Average:事务平均响应时间;
Thoughtoup:吞吐量;
Error:错误率。
根据上述统计数据,填写测试报告如下:
3.3.5.2 统计nmon测试结果
使用nmon analyser.xls打开各服务器上统计的nmon信息,如下图所示
打开“CPU_ALL”工作表,可查看到任意时刻CPU的使用情况分析,根据时间点统计该时间段中CPU的平均使用率,如下图所示:
同理,打开“DISK_SUMM” 工作表,可查看到任意时刻IO的使用情况分析,根据时间点统计该时间段中IO的平均使用率,如下图所示:
根据上述统计数据,填写测试报告如下:
3.3.5.3 根据测试数据画图
例如统计不同并发情况下的事务平均响应时间数据如下:
不同并发情况下,事务平均响应时间统计:单位(ms)
并发线程数 交易名称 |
1 |
100 |
200 |
300 |
密码验证 |
334 |
5619 |
5444 |
6831 |
获取账户客户信息 |
576 |
6255 |
12401 |
18506 |
卡列表获取 |
648 |
2942 |
9818 |
9220 |
获取签约账户信息 |
267 |
3731 |
6370 |
9038 |
获取账户明细信息 |
317 |
4557 |
8096 |
11991 |
余额查询 |
373 |
6992 |
15946 |
12143 |
使用Excel对数据进行图表绘制操作,步骤如下:
1. 选择需要统计的数据区域(A3-E8),在工具栏中点击“插入”à“柱形图”,选择“三维柱形图”,如下图所示:
2. 点击“设计”à“布局1”,出现如下图:
3. 选择图表的图形区域,点击工具栏“设计”à“选择数据”
4. 选择图例项,点击“编辑”可对图表的图例项进行修改
5. 修改后的图形如下:
6. 修改图表标题,并添加横纵坐标对应说明与单位,得到最终的“平均响应时间统计”图:
3.4 LoadRunner测试举例
3.4.1 准备测试脚本
1. 在“开始”菜单中启动Mercury LoadRunner—LoadRunner,如下图所示:
2. 点击“Create/Edit Scripts”,打开新建测试脚本页面,如图所示:
3. 点击“OK”,打开编写测试脚本页面,点击“Start Record”按钮开始录制脚本:
4. 输入URL,如:“C:\Documents and Settings\hzy\桌面\ccgw测试页面.htm”
5. LoadRunner会自动打开桌面的“ccgw测试页面.htm”,如图所示
6. 在XML报文输入框中输入发送的测试报文,创建一个“事物()”,点击“提交”
7. 收到返回报文后,点击“事物”结束按钮,并点击“结束脚本”按钮,如下图所示:
8. 此时脚本录制完成,保存录制下来的脚本。
3.4.2 启动NMON监听
1、telnet到测试环境App服务器10.10.0.100,进入nmon目录,执行“nmon -f -t -s 10 -c 100”命令,将自动在nmon目录下以当前时间命名的监听文件,如下图所示:
2、telnet到测试环境数据库服务器10.10.2.100,进入nmon目录,执行“nmon -f -t -s 10 -c 100”命令,将自动在nmon目录下以当前时间命名的监听文件,如下图所示:
3、nmon -f -t -s 10 -c 100命令说明:-s 每隔多少秒统计一次,以秒为单位;如20,则每20秒统计一次;-c 统计多少次之后即停止。
3.4.3 执行测试用例
1. 在“开始”菜单中启动Mercury LoadRunner—LoadRunner,点击“Run Load Test”:
2. 打开运行测试脚本页面,将要运行的脚步添加到右边的场景中,点击“OK”,如下图所示:
3. 在打开的运行场景页面,可如图指定测试人数及设置运行场景:
4. “Edit Schedule”编辑器设置介绍如下:
v 指定逐渐开始:在“RampUp(加压)”选项卡中,可设置加压规则,如:每 15 秒开始 2 个 Vuser
v 计划持续时间:在“Duration(持续时间)”选项卡中,可设置运行时间,如:在加压完成之后持续运行30分钟。
v 计划逐渐关闭:在“Ramp Down(减压)”选项卡中,可设置减压规则,如:每 30 秒停止 5 个 Vuser。
5. 设置好运行场景后,点击“Start Scenario”,运行测试,点击“RUN”选项卡,如下图所示:
6. 实时查看脚本运行情况,如下图所示:
3.4.4 查看测试结果
1. 测试结束后,在测试场景中点击如下图所示的
2. LoadRunner会根据测试场景自动生成测试报告,如下图所示:
3.4.5 LoadRunner相关参数配置说明
Vuser-->Run-time Settings
1、Think Time,设置是否忽略;
2、Preferences-->Options
2.1、设置连接超时时间等参数;
3.4.6 编写测试报告
我们在编写性能测试报告中需要添加测试模型的介绍描述及测试结果分析,测试结果分析中需要包含不同并发情况下,事务平均响应时间、吞吐量、交易成功率、应用服务器和数据库CPU资源、IO使用率等数据的统计信息。
3.4.6.1 统计LoadRunner测试结果
从LoadRunner测试的报告中,我们可以获取“最大运行用户数”、“事务平均响应时间”、“平均点击率”、“吞吐量”、“交易成功率”等参数,如下图所示:
Average:事务平均响应时间;
Average Thoughtoup:平均吞吐量;
Average Hits per Second:平均点击率。
根据上述统计数据,填写测试报告如下:
3.4.6.2 统计nmon测试结果
使用nmon analyser.xls打开各服务器上统计的nmon信息,如下图所示
打开“CPU_ALL”工作表,可查看到任意时刻CPU的使用情况分析,根据时间点统计该时间段中CPU的平均使用率,如下图所示:
同理,打开“DISK_SUMM” 工作表,可查看到任意时刻IO的使用情况分析,根据时间点统计该时间段中IO的平均使用率,如下图所示:
根据上述统计数据,填写测试报告如下:
3.4.6.3 根据测试数据画图
例如统计不同并发情况下的事务平均响应时间数据如下:
不同并发情况下,事务平均响应时间统计:单位(ms)
并发线程数 交易名称 |
1 |
100 |
200 |
300 |
密码验证 |
334 |
5619 |
5444 |
6831 |
获取账户客户信息 |
576 |
6255 |
12401 |
18506 |
卡列表获取 |
648 |
2942 |
9818 |
9220 |
获取签约账户信息 |
267 |
3731 |
6370 |
9038 |
获取账户明细信息 |
317 |
4557 |
8096 |
11991 |
余额查询 |
373 |
6992 |
15946 |
12143 |
使用Excel对数据进行图表绘制操作,步骤如下:
7. 选择需要统计的数据区域(A3-E8),在工具栏中点击“插入”à“柱形图”,选择“三维柱形图”,如下图所示:
8. 点击“设计”à“布局1”,出现如下图:
9. 选择图表的图形区域,点击工具栏“设计”à“选择数据”
10. 选择图例项,点击“编辑”可对图表的图例项进行修改
11. 修改后的图形如下:
12. 修改图表标题,并添加横纵坐标对应说明与单位,得到最终的“平均响应时间统计”图: