目录
1 概述
1.1 编写目的及读者对象
1.2 项目背景及测试目的
2 测试内容及方案
2.1 测试需求
2.2 压力测试通过标准
2.3 测试环境
2.4 测试工具
2.5 测试方案
2.6 测试时间及人员安排
3 测试结果与过程
3.1 测试结果
3.2 结论
4 详细测试过程及结果
4.1 登录
4.2 首页(我的单据、待办、已办、已办结)
1 概述
1.1 编写目的及读者对象
本次测试报告为***系统的压力做测试总结报告,目的在于总结测试结果,分析系统性能,描述系统是否符合预期的性能要求或者客户的其他需求。
本报告的预期读者对象包括用户、测试人员、开发人员、项目管理者、质量管理人员及其他相关人员。
1.2 项目背景及测试目的
本次测试是针对***项目进行的压力测试。为保证系统的平稳运行,需要对系统的关键节点进行压力测试,验证现有生产环境的硬件资源和架构满足未来的业务需要。
本次压力测试的重点在于从用户使用角度进行端对端的业务测试。
本次压力测试的主要目的如下:
ü 评估在并发压力下系统使用对应用服务器、数据库服务器资源消耗的情况,同时对系统关键性能进行验证
ü 识别性能瓶颈,以对系统进行优化和调整,提出相应方案
ü 识别容错能力,以对系统异常识别、处理进行优化和调整,增强应用的稳定性
2 测试内容及方案
2.1 测试需求
本次测试范围为***系统的核心模块。为验证系统在大负荷情况下数据处理能力及承受能力,分别模拟报账系统单点登陆、以报销单为例,模拟相关操作(保存、提交)等**类种业务场景,分别从响应时间、事务成功率、CPU使用率、内存使用情况等维度进行结果分析。
2.2 压力测试通过标准
并发用户数 | 压测时长 | 90%用户相应时间 | 平均响应时间(s) | 事务成功率 | 每秒处理事务 | CPU占用率 | 内存使用率 |
---|---|---|---|---|---|---|---|
5000 | 15min | 小于3秒 | 小于3秒 | 大于99% | 小于75% | 小于75% | |
10000 | 15min | 小于4秒 | 小于4秒 | 大于99% | 小于75% | 小于75% | |
15000 | 15min | 小于5秒 | 小于5秒 | 大于99% | 小于75% | 小于76% |
2.3 测试环境
服务器及客户端 | 硬件配置 | 软件配置 |
---|---|---|
应用服务器 (*台) | 单节点配置: CPU:*核,内存:*GB (集群总)配置: CPU:*核,内存:*GB 运行环境:***(Docker容器) | 操作系统: (CentOS 7.4) |
数据库服务器 (***集群) | (**集群)配置: 存储:*TB (SSD) (**集群)配置: 存储:*TB (SSD) (**集群)配置: 存储:**TB | 操作系统: (CentOS 7.4) 数据库:(Oracle 11g) |
测试客户端 | CPU:*核,内存:*G,存储:*GB | 操作系统:(windows2008R2) |
网络要求 | ***M带宽 |
2.4 测试工具
LoadRunner性能测试工具、Nmon服务器指标监测工具、Postman接口测试工具、Fiddler抓包工具
2.5 测试方案
应用服务集群基于(**)容器部署在云平台上,应用集群由节点数可手动扩展,本次压测设置了*个节点,单个(**)容器节点的配置为*CPU、*GB内存,应用服务集群采用(**)作为第一层负载,由(**)作为第二层负载对外提供服务。
关系数据库采用了(**)集群提供数据存储服务,应用程序通过连接池的方式与数据库建立连接。热点数据使用(**)缓存,集成接口及应用程序的异步处理采用了***的方式。
压力测试客户端采用**个LoadRunner客户端组成压测集群,根据测试场景模拟用户用户数和并发数。
2.6 测试时间及人员安排
场景 | 开始时间 | 结束时间 | 测试人员 |
---|---|---|---|
3 测试结果与过程
3.1 测试结果
各场景数据统计分析如下:
场景 | 并发用户数 | 压测时长 | 90%的用户响应时间(s) | 平均响应时间(s) | 事务成功率 | 每秒处理事务 | 成功事物数 | 失败事物数 | 脚本运行错误数 |
---|---|---|---|---|---|---|---|---|---|
3.2 结论
基于目前的测试结果,对比我们制定的压测标准,测试)***!目前可以满足约****并发用户,大约为***—***人在线,完全**可以满足客户需求。
4 详细测试过程及结果
4.1 登录
4.1.1 场景说明
登录场景模拟用户登录系统后创建通用报销单并提交的过程。分别并发模拟100、200、500用户提交通用报销单,持续时间为15分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。
4.1.2 测试用例
下表为100、200、500人分别提交报销单据的测试用例:
用例名称 | 50、100人同时登录系统 | 用例编号 | 001 |
---|---|---|---|
测试步骤 | 1、用户登录报账系统,进入主操作界面。 | ||
场景设计 | 1、每秒启动5个虚拟用户,共生成50、100个虚拟用户; 2、持续运行15分钟; 3、运行结束时,每秒结束10个用户,直到所有用户结束为止。 | ||
关注事务 | 登录 | ||
监控指标 | 响应时间,事务成功数,服务器cpu,内存使用情况 | ||
预期结果 | 响应时间小于5秒,事务成功率大于99%,cpu使用率小于75%,内存使用率小于75%。 |
4.1.3 测试结果
场景 | 并发用户数 | 压测时长 | 90%的用户响应时间(s) | 平均响应时间(s) | 事务成功率 | 每秒处理事务 | 成功事物数 | 失败事物数 | 脚本运行错误数 |
---|---|---|---|---|---|---|---|---|---|
登录 | 100 | 15min | 4.625 | 2.391 | 99.28% | 9.371 | 14358 | 103 | 205 |
200 | 15min | 6.039 | 3.753 | 98.19% | 9.125 | 18770 | 345 | 523 | |
500 | 15 min | 12.748 | 6.452 | 91.18 | 10.621 | 36134 | 3493 | 5261 |
(1) 100用户同时登录
1)运行成功
2)概要报告
3)每秒处理事务
4)CPU及内存
(2) 200用户同时登录
5)运行成功
6)概要报告
7)每秒处理事务
8)CPU及内存
(3) 500用户同时登录
9)运行成功
10)概要报告
11)每秒处理事务
12)CPU及内存
4.2 报销单加载、保存
4.2.1 场景说明
用户登录系统进入系统,分别并发模拟20、50、100个用户打开报销单加载、保存单据,持续时间为15分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。
4.2.2 测试用例
下表为20、50、100个用户打开报销单加载、保存单据的测试用例:
用例名称 | 20、50、100人同时打开通用报销单加载、保存、提交单据 | 用例编号 | 002 |
---|---|---|---|
测试步骤 | 1、用户登录系统, 2、点击通用报销单新建单据(单据加载) 3、录入通用报销单内容,点击保存保存通用报销单 4、点击提交提交通用报销单 | ||
场景设计 | 1、每秒启动5个虚拟用户,共生成***个虚拟用户; 2、持续运行15分钟; 3、运行结束时,每秒结束10个用户,直到所有用户结束为止。 | ||
关注事务 | 新建单据、保存单据、提交单据 | ||
监控指标 | 响应时间,事务成功数,服务器cpu,内存使用情况 | ||
预期结果 | 响应时间小于5秒,事务成功率大于99%,cpu使用率小于75%,内存使用率小于75%。 |
4.2.3 测试结果
场景 | 并发用户数 | 压测时长 | 90%的用户响应时间(s) | 平均响应时间(s) | 事务成功率 | 每秒处理事务 | 成功事物数 | 失败事物数 | 脚本运行错误数 | |
---|---|---|---|---|---|---|---|---|---|---|
报销单 | 新建 | 20 | 10min | 3.4 | 2.4 | 100% | 0.276 | |||
50 | 10min | 30.3 | 9 | 100% | 0.554 | |||||
100 | 15min | 18.7 | 9.8 | 99.4% | 0.521 | |||||
150 | 15min | |||||||||
保存 | 20 | 10min | 1.6 | 1.2 | 100% | 0.276 | ||||
50 | 10min | 2.1 | 1.2 | 100% | 0.554 | |||||
100 | 15min | 2.3 | 1.4 | 99.5% | 0.506 | |||||
150 | 15min | 2.4 | 1.5 | 99.3% | 0.317 |
(1) 20用户同时打开报销单加载、保存单据
1)运行成功
2)概要报告
3)每秒处理事务
4)CPU及内存
(2) 50用户同时打开报销单加载、保存单据
1)运行成功
2)概要报告
3)每秒处理事务
4)CPU及内存
(3) 100用户同时打开报销单加载、保存单据
5)运行成功
6)概要报告
7)每秒处理事务
8)CPU及内存
(4) 150用户同时打开报销单加载、保存单据
9)运行成功
10)概要报告
11)每秒处理事务
12)CPU及内存
4.3 报销单提交
4.3.1 场景说明
用户登录系统进入系统,分别并发模拟20、50、100个用户打开报销单提交单据,持续时间为15分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。
4.3.2 测试用例
下表为50、150个用户打开报销单提交单据的测试用例:
用例名称 | 50、150人同时打开报销单提交单据 | 用例编号 | 002 |
---|---|---|---|
测试步骤 | 1、用户登录系统, 2、点击报销单新建单据(单据加载) 3、录入报销单内容,点击保存保存报销单 4、点击提交提交通用报销单 | ||
场景设计 | 1、每秒启动5个虚拟用户,共生成***个虚拟用户; 2、持续运行15分钟; 3、运行结束时,每秒结束10个用户,直到所有用户结束为止。 | ||
关注事务 | 提交单据 | ||
监控指标 | 响应时间,事务成功数,服务器cpu,内存使用情况 | ||
预期结果 | 响应时间小于5秒,事务成功率大于99%,cpu使用率小于75%,内存使用率小于75%。 |
4.3.3 测试结果
场景 | 并发用户数 | 压测时长 | 90%的用户响应时间(s) | 平均响应时间(s) | 事务成功率 | 每秒处理事务 | 成功事物数 | 失败事物数 | 停止事物数 | |
---|---|---|---|---|---|---|---|---|---|---|
通用报销单 | 提交 | 50 | 15min | 4.441 | 2.666 | 99.8% | 2.666 | |||
150 | 15min | 4.5 | 3.4 | 99.5% | 0.137 | |||||
15min |
(5) 50用户同时打开报销单提交单据
5)运行成功
6)概要报告
7)每秒处理事务
8)CPU及内存
(6) 150用户同时打开报销单提交单据
13)运行成功
14)概要报告
15)每秒处理事务
16)CPU及内存