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轨迹不能总是一条直线。尤其对以下几种情况:

  • 搜索
  • 查询
  • 调用接口
  • Peak Load时

  但是从一方面来讲,如果没有允许波动范围,只是用我们的猜测去下结论,很可能会导致我们的性能测试功亏一篑,遗漏掉一些本该发现的性能bug,或者发现不了一些潜在的性能瓶颈点。

  建议:

  如果我们制定一个合理的TPS波动范围标准,我们可以有效的去实施,有理有据,这样就避免了跟设计、开发人员的沟通成本。

  制定一个标准是给我们的性能测试工作作为参考,标准是人为制定的,当然可以灵活运用,具体问题做具体分析。

 

http://www.51testing.com/html/83/n-168283.html

 

引言中的TPS平均值应该是来自于淘宝性能测试白皮书里的内容吧,80% 40%或许不适用于所有应用,但具有参考意义,指明了PV到TPS转换的大致方向。。。

在自己负责的测试中,主要都是JAVA WEB的应用,但并没有做PV这种需求分析,TPS分析这块还是很欠缺呀。。。


TAG:

 

评分:0

我来说两句

Open Toolbar