引言:
线上PV是性能测试学生和架构、开发、运营学生非常关注的参数;
PV性能测试的表现形式是TPS两者都有一个转换公式,如下:
TPS平均值 =( (PV*80%)/(24*60*60*40%)/服务器数量 = pv/s
TPS峰值 = (((PV*80%)/(24*60*60*40%))*1.6) /服务器数量= pv/s
前提条件:
在干净、稳定、独立、无毒、真实的性能测试环境下进行性能测试。
Note: 性能测试应模拟生产线上的软硬件环境、应用服务参数配置、在线user访问、业务逻辑等。
最近的性能测试项目,TPS表现形式不稳定:
1. TPS图为瀑布型
2. TPS整体逐渐下降,波动
3. 部分transaction较有规律的波动
4. TPS图呈矩形的
5. 在一时期波动较大
6. 批量参数请求处理模式
7. Transaction 短暂消失
9. TPS平稳运行一段时间后,突然下降
8. 正常的RPS图
分析原因:
引起TPS异常的原因至少如下:
i. 代码(需要优化,占性能测试的大部分)
ii.网络原因
iii.服务器遇到大量请求,有延迟处理的迹象
iv.压力高峰时server短暂休克(页面显示不完整,或不显示需要多次刷新)
v.服务器运行不稳定
vi.其他非性能测试在应用服务运行过程中受到影响service干扰
感想:
性能场景需要调整和重新执行:
处理方式:
1. 优化,改进;
2. 没有调整,结果更稳定。
有时候,TPS我们是否也应该有一个允许的波动范围;因为对于一些大型数据交换场景(搜索场景),TPS轨迹不能总是一条直线。特别是在以下情况下:搜索
查询
调用接口
Peak Load时
但是,一方面,如果没有允许波动的范围,用我们的猜测得出结论,很可能会导致我们的性能测试失败,错过一些应该发现的性能bug,或者找不到一些潜在的性能瓶颈。
建议:
如果我们制定一个合理的TPS我们可以有效地实施波动范围标准,从而避免与设计和开发人员的沟通成本。
制定标准是我们性能测试工作的参考,标准是人工制定的,当然可以灵活运用,具体问题可以具体分析。