1 测试结论

1.1 测试内容

// 描述测试内容

1.2 测试总结

// 列出具体场景是否达标,不达标的场景瓶颈在哪里,存在哪些隐患,有哪些优化建议;有必要可对各个场景进行对比分析
// 重点指出本次测试的前提假设,例如,挡板设置、延迟

1.3 生产环境预估

// 依据本次测试结果,对生成环境相关指标需要有个推算和预估

1.4 参数调整

// 依据本次测试结果,给出相关重要参数的最优设置,例如:线程池大小、连接池大小等

1.5 不足及建议

// 描述本次测试存在的不足。(注:这里主要针对本次测试过程,而不是具体测试场景的问题)
// 例如,测试环境与正式环境相比存在哪些差异;所依赖的子系统不稳定,影响了测试效率;测试过程中,被测系统在未知的情况下发生变更;测试结果可能受到某些因素影响等等

2 测试环境

2.1 测试人员

人员 角色
张三 测试开发接口
李四 项目接口
王五 测试开发

2.2 测试组网

// 描述实际测试过程中的简化组网图,标识出挡板,重点描述挡板细节,例如:挡板位置、策略、延迟

2.3 软硬件环境

// 列出压测客户端的个数,被测服务器各进程的部署,包括IP、端口、JVM参数、系统重要配置,如:线程池、数据库连接池等

2.4 压测客户端

// 如果采用第三方压测工具,主要描述清楚同时运行多少个压测客户端及运行环境的资源情况
// 如果采用 OPPO性能测试平台,采用下述模板内描述即可

机器IP 进程说明 CPU 内存 说明
性能平台 ENGINE 40核 64G 由性能平台调度

2.5 被测服务器

// 列出数据库,网关,包括IP和端口;运行在虚拟机的进程,需关注是否跟其他压测节点部署在同一个物理机上

机器IP 进程说明 CPU 内存 说明





2.6 软件版本

项目 版本号 说明
open-platform release-20210505 SpringMVC 实现
open-platform release-20210601 Restlight 实现
third-party release-20210601

3 测试结果

3.1 测试接口:T01 开户

3.1.1 接口描述

// 描述该交易的执行流程,最好有对应的时序图(sequence diagram)、调用关系图 (Call Graph)

3.1.2 测试结论

// 列出该场景并发数、TPS、平均响应时间、最大、最小响应时间、成功率(超时)、重要调用接口耗时;
// 重要分析达到拐点时瓶颈在哪个子系统,最好还能具体到哪个服务,哪种系统资源吃紧,CPU、内存、磁盘IO、网络、数据库。
// 数据要能体现出性能拐点及前后的对比数据,如下表:

并发 TPS 平均响应时间(S) 成功事务数 成功率
100 50.00 0.8 20000 0.00%
150 70.00 1.1 20000 0.00%
200 90.00 1.6 20000 0.00%
250 112.00 1.9 20000 0.00%
300 121.00 2.4 19999 0.01%
350 122.00 2.75 19766 1.17%
400 119.00 3.8 15739 21.31%

3.1.3 数据收集

// 瓶颈节点的CPU利用率、负载、内存、网络、磁盘IO的使用情况
// 直接和间接依赖接口的耗时、失败率统计数据
// 重要子系统和瓶颈节点的数据库的资源情况,是否有SQL慢查询

3.1.4 瓶颈分析

// 根据以上测试数据,分析出瓶颈在哪里,重点体现分析过程
// 针对瓶颈,还需要分析出达到该瓶颈后的预案有哪些?例如:增加机器;提高专线带宽

4 附录

4.1 参考资料

// 描述是本文档参考和依据的所有文档

4.2 配置文件

// 重要子系统的相关配置文件,可统一打包到zip文件

4.3 原始测试数据

// 一般是测试人员在测试中记录数据的excel表格

4.4 相关日志文件

// 测试过程中产生的重要日志,如文件较大,可指出服务器上的存放地址,便于回溯查验