1) 每次对外发布产品版本前必须要完成的测试类型
2) 执行固定的性能测试场景得到系统的性能测试报告
3) 与上一版本发布时的基准测试结果进行对比
4) 优化 or 恶化 ?
(1) 获取系统性能基准作为参照物
(2) 识别系统或环境的配置变更对性能带来的影响
(3) 给系统优化前后的性能提升/下降提供参考标准
(4) 观察系统的整体性能趋势与性能拐点,识别系统性能风险
同一事务的响应时间变慢了
上一版本中,用户登录的响应时间是 2s,在最新的被测版本中这个响应时间变成了 4s;
系统资源的占用率变高了
上一版本中,平均 CPU 占用率是 15%,在最新的被测版本中平均 CPU 占用率变成了 30%;
等等。。。。
1) 持续稳定地增加系统的负载,测试系统性能的变化
2) 找出指标阈值下的系统瓶颈和性能拐点
3) 测试系统所能承受的最大负载量
4) 找出内存管理错误,内存泄漏,缓冲区溢出的问题
5) 找到处理极限,为调优提供数据
6) 找出系统在稳定情况下的最大压力值
通过改变负载方式、增加负载,发现系统中所存在的性能问题
(1) 200 个并发用户访问时的最大响应时间,最大吞吐量
(2) 21 个小时内要处理 1000 笔业务,找到最大并发数
(3) 响应时间不超过 10s 的最大负载
(4) cpu 利用率不高于 60% 下的最大并发数
1) 测试系统的资源在饱和状态下的应用的处理会话能力
2) 持续稳定的增加系统压力,测试系统性能的变化
3) 破坏性测试,确保系统失败并能正常恢复
4) 发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患
5) 关注大业务量情况系统的长时间运行状态(例如反应变慢、内存泄漏 系统崩溃、失效恢复)
6) 找出系统在可控错误率下的最大压力值
(1) 长时间运行(7*24 小时)模拟被测系统的测试负载
(2) 观察系统在长期运行过程中是否有潜在的问题
(3) 对系统指标进行监控,发现长期运行时的内存泄漏、资源非法占用等问题
1) 不断加压,直至系统崩溃
2) 测试系统的最大承受能力
3) 通过破坏性加压的手段,快速造成系统的崩溃或让问题明显的暴露出来
阶梯式压力测试
(1) 逐渐增加测试负载,如每 5s 钟增加 100 个并发数
(2) 高负载情况下持续运行一段时间,然后再逐渐降低负载
(3) 构成一个梯级的测试场景
尖峰测试(Spike testing)在性能测试中属于压力测试的一个子集。指的是在某一瞬间或者多个频次下用户数和压力陡然增加的场景。
为了验证我们的网站在访问用户急剧增加的情况下,或者短时间内反复急剧增加工作负载时能否正常工作;以及程序能否从高负荷中恢复并正常工作时常常用到这种测试手法。
Spike 在英文中是钉子的意思,或者我们可以将其称之为冲击测试,反复冲击服务器。
12306 开始售票时访问用户急剧增加
网站公布高考成绩、录取分数时,访问用户急剧增加
网站投放商业促销广告和促销活动,如双 11 和 618 等活动开始时,访问用户急剧增加
等等。。。。