一、性能测试流程:
1、压测申请
注意点:
- 申请提出时间:至少在期望压测时间前3天提出压测申请。
- 期望压测执行人:经过性能测试培训并通过考试的测试人员。
- 压测环境:选择“生产环境”,则走按生产环境压测规范来进行后续流程;选择其他环境,则以非生产环境压测规范来进行后续流程。
- 生产压测必要条件:生产压测选择生产压测必要条件,具体”生产压测必要条件“章节
- 其他参考性能指标:可以是默认的几项,也可是其他自定义项。
- 环境机型:填写被测环境应用机型,非生产环境压测,填写生产环境及被测环境机型。生产环境压测可只填写生产环境机型。此处可通过“环境机型查询”,通过输入“应用ID”,来查找机型结果,找到匹配的内容,选择后即可自动填入环境机型栏。
2、压测方案
注意点:
- 编写人:压测方案由压测执行人编写。
- 环境配比结论:通过“性能测试关键指标估算方法”,得出生产与测试环境配比。
- 待测项及预期性能指标:填写被测环境配比后的期望结果。
- 测试用例:测试目的大致可分3种,1、是否达到期望指标;2、找到最佳性能点;3、找到性能拐点。
- 测试场景,请描述清楚与所选压测类型匹配的测试场景。
- 负载测试:测试场景并发数由低到高等比递增,达到或超越期望结果。
- 稳定性测试:测试场景并发数按性能拐点80%的并发量持续运行12小时以上。
3、方案评审
注意点:
- 生产环境评审
- 组织人:压测执行人
- 参与方:被测应用产品负责人、开发架构师及下游相关方开发架构师、运维负责人、监控组、技术平台相关负责人、专职性能测试,压测执行人与评审专职性能测试不可为同一人)或测试架构师(可选)
- 评审结果:参与方都需要签字确认,确保方案无误。
- 非生产环境评审
- 组织人:压测执行人
- 参与方:被测应用产品负责人、开发架构师,下游相关方开发架构师(可选)、专职性能测试(压测执行人与评审专职性能测试不可为同一人)或测试架构师(可选)
4、测试脚本开发
(略)
5、测试执行
注意点:
- 生产压测
- 事前:提前一天在钉钉-故障处理保障群发通知告知压测协助方,周知其他各方,内容包括:压测内容、预定开始、结束时间、预估影响范围。
- 事中:钉钉-故障处理保障群,通知开始压测。压测期间触发“异常中止标准”,则立即停止压测,在故障处理保障群通 异常,并协助恢复。
- 事后:钉钉-故障处理保障群,通知结束压测或者中止压测。
- 非生产压测
- 事前:提前一天在钉钉-质量改进部群发通知周知各方,内容包括:压测内容、预定开始、结束时间、预估影响范围。
- 事中:钉钉-部门群,通知开始压测。
- 事后:钉钉-部门群,通知结束压测。
6、结果分析
注意点:
- 测试的通过/不通过的标准:
- 压测中任一性能指标不符合预期结果,则压测失败,并中止。
- 准出标准:无P0P1P2 Bug。
7、压测 告
注意点:
- 环境配比结论:实际压测时,生产与测试环境配比。
- 测试目标:实际被测环境配比后的期望结果。
- 测试结果:实际待测项是否测试结果。
- 与 告一同提交的图形 表,用于佐证实际压测结果真实可靠
- 时间/tps变化图
- 时间/cpu变化图(或其他资源消耗图,按需提供)
- 时间/并发数变化图
8、 告评审
注意点:
- 评审人:专职性能测试人员(压测执行人与专职性能测试人员相同的,则由测试架构师评审)
- 评审结果:不通过则重测。
9、必压测接口判定
满足某些条件则为必压测接口
近一周工作日内接口峰值tps>=500
二、性能测试关键指标估算方法
估算方法 | 前提条件 | 计算公式 | 例 |
---|---|---|---|
2.8法 | B/S系统提供UV,PV、接口提供被调次数,考察时间长度 |
并发数=uv*0.8/(8小时*0.2*3600秒)*3倍 处理能力(tps)=pv*0.8/(8小时*0.2*3600秒) 处理能力(tps)=被调次数*0.8/(8小时*0.2*3600秒) |
8小时中,80%的访问量集中在20%的时间里 |
简单峰值法 | B/S系统提供UV,PV、接口提供被调次数,考察时间长度 |
并发数=uv*0.9/((12-8)*3600秒)*3倍 处理能力(tps)=pv*0.9/((12-8)*3600秒) 处理能力(tps)=被调次数*0.9/((12-8)*3600秒) |
8~12点处理90%的访问量,其他时间处理10%的访问量 |
并发数精算法 | 平均每天访问用户数、一天内用户从登录到退出的平均时间、考察时间长度 |
平均并发数=平均每天访问用户数*一天内用户从登录到退出的平均时间/考察时间长度 并发数=平均并发数+3√平均并发数 平均并发数=400*4/8=200 并发数=200+3√200=242
|
每天400个用户访问系统,平均时长4小时,访问时间段8小时内 |
并发数估算法一 | 系统最大在线用户数 |
并发数 = 系统最大在线用户数*12% 并发数 = 2000*12%=240 |
系统最大在线用户数2000 |
并发数估算法二 | 处理能力(tps),平均响应时间 |
并发数=处理能力(tps)*平均响应时间 并发数=200*0.5=100 |
tps:200trs/s 平均响应时间:500ms |
性能比等比估算法
|
测试环境,生产环境机型相同,数量不同,如应用为耗CPU类 | 则认为生产环境、测试环境处理能力比例为 6:1 | 生产环境、测试环境机型相同,内存,磁盘大小不同,数量比例6:1 |
测试环境,生产环境机器CPU频率相同或差别不大,内核数不同,机器数量不同,如应用为耗CPU类 | 则认为生产环境、测试环境处理能力比例 大于8:1 | 测试环境,生产环境机器CPU频率相同或差别不大,内核数比例为2:8,内存,磁盘大小不同,机器数量比例1:2 | |
测试环境,生产环境机型相同,数量相同,内存大小不同,如应用为耗io类 | 则认为生产环境、测试环境处理能力比例为 6:1 | 生产环境、测试环境机型相同,内存数量比例6:1 | |
测试环境,生产环境机器CPU频率相同或差别不大,内核数不同,机器数量不同,内存大小不同,如应用为耗io类 | 因为是耗io类,则忽略cpu差异,认为生产环境、测试环境处理能力比例为12:1 | 测试环境,生产环境机器CPU频率相同或差别不大,内核数比例为2:4,内存数量比例是1:6,机器数量比例1:2 |
三、性能测试checklist
编 | 事项 | 分类 | 状态 | 应用场景 | 备注 |
---|---|---|---|---|---|
1 | 服务器端和客户端必须在同一个局域 内 | 环境类 | 确认 | ||
2 | 必须在有线 络情况下进行性能测试 | 环境类 | 确认 | ||
3 | 要注意检查点的设置,确认脚本是否成功执行 | 脚本工具类 | 确认 | ||
4 | 要考虑参数化和关联的资源消耗对性能的影响。 | 脚本工具类 | 确认 | ||
5 | 运行性能测试时关闭日志功能,调试脚本时可以打开日志功能 | 脚本工具类 | 确认 | ||
6 | 如果数据是会不断累加的,要考虑软件生命周期内可能的最大数据量 | 环境类 | 确认 | ||
7 | 测试不通过,需提供相关日志及数据给开发协查 | 脚本工具类 | 确认 | ||
8 | 性能测试必选期望指标,并发数、响应时间、处理能力(tps或qps)、成功率 | 业务类 | 确认 |
四、性能测试Bug级别定义
级别 | 名称 | 定义 |
---|---|---|
P0 | 紧急 |
性能问题导致的系统崩溃/服务挂起 关键路径性能测试不符合预期性能指标 吞吐量占 络带宽的90%以上 |
P1 | 严重 |
次要路径性能测试不符合预期性能指标 关键页面加载速度不符合预期性能指标,严重影响用户体验 小概率(小等于5%)P0bug 耗CPU类型应用,CPU资源使用率长时间处于100% 耗io类型应用,内存使用率长时间处于95%以上 吞吐量占 络带宽的70%以上 |
P2 | 重要 |
非必要路径性能测试不符合预期性能指标 小概率(小等于5%)P1bug 耗CPU类型应用,CPU资源使用率长时间处于95%以上 耗io类型应用,内存使用率长时间处于90%以上 吞吐量站 络带宽的50%以上 |
五、预期性能参数
系统类型 | 参数 | 单位 | 备注 |
---|---|---|---|
B/S 页面 | UV(独立访客) | 位/天 | 访问系统的一台电脑客户端为一个访客,同一天内相同的客户端只被计算一次 |
PV(页面浏览量) | 次/天 | 页面浏览量或点击量 | |
考察时长(访问量分布时长) | 小时 | 例:访问量集中在工作时间,则按8小时计算 | |
接口类 | 被调次数 | 次/天 | 一天内接口被调用次数合计值 |
考察时长(访问量分布时长) | 小时 | 被调接口访问量集中的被调时长 | |
UV(独立访客) | 位/天 | 访问系统的一台电脑客户端为一个访客,同一天内相同的客户端只被计算一次 |
六、生产压测异常中止标准
编 | 中止条件 | 对应措施 | |
---|---|---|---|
1 | 被测系统及下游系统应用出现异常 错 | 中止压测,故障群通知,上 监控中心及项目组,协助恢复 | |
2 | 被测系统任一性能指标达到预警值 | 中止压测,故障群通知,上 项目组 | |
3 | 用户上 生产系统故障 | 中止压测,故障群通知,协助恢复 | |
4 | 被测系统大量GC | 中止压测,故障群通知,上 监控中心及项目组,协助恢复 | |
5 | 监控发现数据库死锁、 络瓶颈、链接超时、线程池沾满不释放等异常告警 | 中止压测,故障群通知,协助恢复 |
七、生产压测必要条件
编 | 生产压测必要条件 | ||
---|---|---|---|
1 | 容量规划治理 | ||
2 | 寻找链路瓶颈 | ||
3 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!