2014,我们一起成长~
【转】性能测试TPS表现形式以及概要分析
上一篇 /
下一篇 2011-12-09 11:27:51
/ 个人分类:转载文章
引言: 线上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轨迹不能总是一条直线。尤其对以下几种情况:
但是从一方面来讲,如果没有允许波动范围,只是用我们的猜测去下结论,很可能会导致我们的性能测试功亏一篑,遗漏掉一些本该发现的性能bug,或者发现不了一些潜在的性能瓶颈点。
建议:
如果我们制定一个合理的TPS波动范围标准,我们可以有效的去实施,有理有据,这样就避免了跟设计、开发人员的沟通成本。
制定一个标准是给我们的性能测试工作作为参考,标准是人为制定的,当然可以灵活运用,具体问题做具体分析。
http://www.51testing.com/html/83/n-168283.html
引言中的TPS平均值应该是来自于淘宝性能测试白皮书里的内容吧,80% 40%或许不适用于所有应用,但具有参考意义,指明了PV到TPS转换的大致方向。。。
在自己负责的测试中,主要都是JAVA WEB的应用,但并没有做PV这种需求分析,TPS分析这块还是很欠缺呀。。。
收藏
举报
TAG: