性能场景之基准场景

性能测试场景有人也称为性能用例设计,不管如何称呼,在性能领域,性能场景设计是非常重要的,性能场景设计的是否准确代表性能测试结果是否有价值,例如,一个混合场景中有3个接口,线上用户对接口的占比分别为15%,58%,27%。而我们在设计场景的时候3个接口占比为30%,30%,40%,那么试想一下,这能模拟线上真实用户的使用轨迹嘛?那么性能场景应该如何设计呢?下面我阐述一下个人观点。

       在服务端性能测试中,性能场景可以分为基准场景,混合场景,稳定性场景,异常场景,接下来说一下这几个场景。

        基准场景:基准场景就是对单接口或者单业务的测试,在进入测试前,我们要测试出这个接口的压力线程数,增加压力和降低压力的策略,那么,接口的压力线程数如何测试出来呢?

        首先,我们确定单线程的TPS,我们设置1个或多个线程循环对这个接口跑一段时间,看一下TPS能达到多少,接着在增加线程继续测试,根据测试结果评估出单个线程支持的TPS是多少。

        看下面这个例子:设置10个线程执行60s,接着看一下结果

图片

        执行结果如下:

图片

     继续验证一下我上面的观点,设置2个线程看一下TPS情况

图片

       测试结果如下:

图片

        经过两次测试可以看出10个线程执行60秒 178TPS,2个线程执行60秒32.9TPS,可以预估出整个接口单线程的TPS为17左右

        其次,预估服务器最大支撑的TPS数量并配置加压策略,根据服务器的配置,例如 8颗CPU 16G内存 能支持600TPS,那我们就使用600TPS/17TPS大约需要35线程 ,所以线程设置不低于35就可以,比如 可以设置40或50

        我们来设置加压和减压策略,加压策略主要是为了能更清晰的观察TPS和RT的曲线,以便能更好的判断出瓶颈点,下面是设置的一个例子

图片

       最后,我们确定最终基准场景的压力参数。

        注意:其他接口我们也用同样的方法执行 

       我们不管是谁在做一件事情总是带有目标的,性能测试也不例外,那么基准场景的目标是什么呢?

        基准场景的第一个目标就是为混合场景做准备,它的TPS能支撑混合场景的需要,那么我们就要测试出它的最大TPS

        基准场景的第二个目标就是在压测的过程中把资源耗尽(CPU,内存,IO,网络)耗尽一个即可

       如果TPS不足以支撑混合场景的需要,那么我们就必须要去优化它

        如果TPS可以支撑混合场景的需要,那么我们就要看第二个目标,资源是否耗尽

        如果资源没有耗尽,我们要去优化它到最大TPS,避免在混合场景中出现瓶颈

              最后,欢迎大家关注我的微信公众号,能帮我提出更多的建议,感谢!

图片

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值