zoukankan      html  css  js  c++  java
  • jmeter使用技巧—tps瓶颈点分析

    提问1

    如何在大并发测试下,让登录或者后续接口只执行一次?

    回答

    这个问题网上的答案其实很多,但是大多不靠谱。
    比如推荐使用仅一次控制器,但是仅一次控制器对线程组无效;比如推荐跨线程组调用,但是这样比较繁琐,新人也搞不定;
    其实只要各位对元件熟悉,这个问题很简单。。。。

     

    提问2

    大并发的登录之后,后续接口在做并发的时候有一些session重复了,并发量越大,重复几率越高。如何保证后续并发的session不重复?

    回答

    原因其实是因为jmeter的多线程存在竞争机制,那么并发量很大的时候,就会有一部分线程下的请求抢到了同样的session。
    我们可以把这些登录口令在并发登录的时候先在本地保存一份哦,用来代替用户名密码做登录参数!

    比如下图所示的session

    写个小脚本把这些session保存下来

     

     

     

    但是这种也有缺点,脚本会略微的影响吞吐量

     

    提问3

    如何识别tps拐点

    回答

    先分析下面这张图。下面这张图上展示了阶梯负载量,响应时间,tps三种数据

     从图上能看出来三个趋势
    1:tps升到一个相对高点之后,长期维持稳定,不再升高
    2:运行一段时间之后,响应时间开始逐渐升高,但是趋势不明显
    3:随着负载越来越高,tps长期保持稳定
    分析:
    在负载逐渐升高的情况下,tps却长期不变。这并不是说明性能很稳定,而是说明我们单位时间内的单线程tps是在逐渐降低的(单位时间tps/总线程)。
    再分析响应时间,我们的响应时间其实也是在逐渐升高,从侧面反映出线程的tps是在下降的。
    但是具体在多少负载量的时候我们的瓶颈点已经到来?这张图上不好计算,我们换一个监听器

    这张图的趋势就比较明显了。随着负载升高,线程的tps逐渐达到一个高点,然后开始下降。那么这个最高点就是我们的性能瓶颈点

    提问4

    jmeter做压测的时候,性能监听图形毛刺过多,看的想吐怎么办

    回答

    先秀一张图阶梯增压的图形,看看什么是毛刺

     

    再回头看一下图形是不是没那么多毛刺了?

     

     是tps曲线依然波动很剧烈,这是我们的压力设置的不合理导致的
    下面把ramp up值改成10s,让我们的线程压力没那么大

     

    响应时间的剧增总是伴随着tps的大跌

     

    爱,就供养;喜欢/受益,就打赏2元请我喝咖啡;如果本文对您有所帮助,请打赏——1元就足够感动我:)

     

    纸上得来终觉浅,绝知此事要躬行
  • 相关阅读:
    【Linux高级驱动】如何分析并移植网卡驱动
    【Linux高级驱动】网卡驱动分析
    【Linux高级驱动】I2C驱动框架分析
    【Linux高级驱动】触摸屏工作原理与工作流程
    【Linux高级驱动】触摸屏驱动的移植
    【Linux高级驱动】input子系统框架
    【Linux高级驱动】平台设备驱动机制的编程流程与编译进内核
    【Linux高级驱动】rtc驱动开发
    【Linux高级驱动】linux设备驱动模型之平台设备驱动机制
    【Linux】Linux基本命令扫盲
  • 原文地址:https://www.cnblogs.com/testing2018/p/14442494.html
Copyright © 2011-2022 走看看