负载测试概念:不断增加并发用户数,向服务器发起请求。得到系统最大的负载量

(持续不断加压,看服务器什么时候不能达到我的预期,或者崩溃)

Stepping Thread Group

1、下载jmeter-plugins-manager-1.8.jar包放在lib\ext\目录下

2、启动jmeter->在JMeter Plugins Manager窗口->搜索 jpgc -Standard Set插件->勾选并下载

 installed plugins:已经下载的插件

available plugins:可下载的插件

upgrades:可以更新的插件

3、下载成功会,重新启动jmeter

插件下载后,jmeter就引入了:

  • 引入了多个线程组---用于设计场景设计的
  • 引入了多个监听器:用于性能测试结果,从不同的维度展示
  • 引入了多个函数

阶梯加压线程组

1、jp@gc - Stepping Thread Group

  • this group will start:表示总共要启动的线程数;若设置为 100,表示总共会加载到 100 个线程
  • first,wait for:从运行之后多长时间开始启动线程;若设置为 0 秒,表示运行之后立即启动线程
  • then start:初次启动多少个线程;若设置为 0 个,表示初次不启动线程
  • next add:之后每次启动多少个线程;若设置为 10个,表示每个梯次启动 10 个线程
  • threads every:当前运行多长时间后再次启动线程,即每一次线程启动完成之后的持续时间;若设置为 30 秒,每梯次启动完线程之后再运行 30 秒
  • using ramp-up:启动线程的时间;若设置为 5 秒,表示每次启动线程都持续 5 秒(和基础线程组的ramp-up一样意思)
  • then hold load for:线程全部启动完之后持续运行多长时间,如图:设置为 60 秒,表示 100 个线程全部启动完之后再持续运行 60 秒
  • finally,stop/threads every:多长时间释放多少个线程;若设置为 5 个和 1 秒,表示持续负载结束之后每 1 秒钟释放 5 个线程

只要线程启动了,就会不停的取执行取样器的请求。

2、结合Active Threads Over Time 随着时间变化的并发用户数

  • 运行Stepping Thread Group需要和Active Threads Over Time结合起来使用,这样能看到动态的阶梯加压效果
  • 可以看到和Stepping Thread Group负载预览图基本一致,证明加压效果是正常的。

3、结合jp@gc - Response Times Over Time 随着时间变化的响应时间

性能测试场景,遵守一个准则:缓起步,快结束

  • 快结束,不是瞬间结束,结束的速度太快会导致,不能中断的请求,被强制中断,这个是会出现错误,是人为场景设计问题,不是服务器的问题
  • 缓 不能太慢。

需要注意

在做完一次性能测试后,需要停顿一段时间,再开始进行下次测试。

停顿多长时间:需要看服务器资源的恢复情况而定,恢复的基本不变。

为什么要停顿:因为每次做性能测试,都可能会对服务器造成性能压力,有可能导致服务器资源使用率高,就需要一些时间使服务器恢复正常。如果还没有恢复正常,就开始下一次测试,后面的性能测试指标会受影响。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐