【安全测试】性能测试进阶——新建测试的方法

发表于:2018-5-29 14:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘琛梅    来源:绿盟博客

  文章目录
  新建测试的方法
  要点
  测试用例1:如何测试系统的最大新建
  第一轮测试
  第二轮测试
  扩展说明
  新建测试的方法
  要点
  单位可以使用connections/sec,simusers/sec
  在希望可以测试出理论上的最大新建的时候,不能配置think time或者是latency
  测试用例1:如何测试系统的最大新建
  测试系统最大新建, 一般会测试两轮或多轮。
  第一轮测试
  第一轮的测试目的是找到一个性能的“预定值”:
  1.根据系统的CPU的性能来估计新建的最大值(可以找开发、SE帮忙,参考友商参数等)。
  2.创建一个新的load,此时需要用到stair阶段:
  Load设置:
  假设预估出来的新建值为8w。我们设置整个测试的最高的新建值为8w x(1+0.2)=9.5w,其中:H1= 8w x 80%。爬坡时间根据经验设置即可(如60s,100s等)H2= 8w x 40%
  设置5个阶梯,平均分配H2
  设置每个小阶梯的爬坡时间t1,和H1部分的斜率一致即可(及图中所有的爬坡斜率一致)
  t2为每个小阶梯的稳定时间。任意设置即可(比如15s,30s等)。
  运行这个配置。
  结果查看:
  1、查看 “Run”下面的“load”,如果load里的Desired曲线和current曲线已经出现了明显的分离,那就说明系统最大的新建基本就是在Desired的值的水平。
  2、同时查看Run-time 里面的结果。测试新建,需要重点查看的项目是HTTP transactions(用http来测试新建),tcp connections per second,响应时间和tcp的连接。
  对HTTP transcations per second,重点关注失败出现的点(下图的绿色曲线变高的点)。找到这个点的时间对应的tcp的连接。基本上我们想要的最大新建就会在这个值左右。本次我们取55000。当然,此时也需要查看系统的cpu利用率,综合分析选取合适的新建值。
  第二轮测试
  Load的设置:
  根据上一次的结果,使用5.5w来作为测试的负载高度。需要注意的是,爬坡斜率要和第一次测试保持一致。(可以有微小的差异,但不应该过大)
  结果分析
  结果没有失败,可以认为通过。
  扩展说明
  仔细分析测试结果,可以看到,新建和并发是一对相互“牵制”的关系。
  我们测试到新建为5.5w时,并发很低(也就是1w左右)。(测试的设备是2800)
  在后面并发测试中,可以看到,100w的并发下,新建也只能达到几千的样子(虽然测试的设备是AMD,但是也可以看出这个规律)。从性能测试的角度来说,我们要至少测试两个维度:
  维度1:测试到系统理论上最好的结果。要测试到最好的结果,在测试其中一项指标的时候,就应该想方设法去减少别的指标对这项指标的影响。比如希望测试到最大新建的时候,我就希望并发可以尽量少,不会影响新建的测试。在测试最大并发的时候,我有希望此时的新建可以尽量少。
  所以在这样的思路下,测试出来的结果,新建多少多少,并发多少多少,不能代表在现网真实环境下,可以同时满足这样的新建和并发。
  维度2:从场景的角度,来测试新建和并发可能会存在相互影响下的性能情况。
  例如,学校环境,需要验证在高峰时期,1w新建下,100w并发是否可以支撑得住。在这种情况,新建和并发都是需要边建立,边拆除的。这就需要使用下面并发的测试方法,来进行性能场景测试。




上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号