• 0
  • 0
分享

使用JMeter做性能测试模拟多少用户发请求本质上依靠的就是线程组元件,线程组会告诉JMeter你想要模拟的用户数量,用户发送请求的频率和发送的数量。

一、线程组配置字段说明

1.PNG

以中文为例,字段含义如下:

【名称】:线程组的名称。

【注释】:对于线程组的描述相关注释,不是必填项。

【在取样器错误后要执行的动作】:取样器发生错误要执行哪个动作,包含继续、启动下一进程循环、停止线程、停止测试、立即停止测试五个动作。这五个动作的含义如下:

  1. 继续:取样器发生错误,忽略错误继续执行,默认选项

  2. 启动下一进程循环:取样器发生错误,忽略错误并停止当前线程循环,执行下一个循环

  3. 停止线程:当前线程运行完毕后,停止所有线程

  4. 停止测试:停止测试计划,如果一个测试计划下有多个线程组,那么所有线程组都会停止

  5. 立即停止测试:整个测试计划会立即停止运行

【线程数】:设置线程数,可以在测试计划的用户自定义变量中设置变量,在这里引用测试计划的变量 ${users},可以理解为并发用户数、系统并发数

【ramp-up时间】: 设置启动所有线程需要的时间

【循环次数】:设置线程组中的每个线程循环次数

【永远】:勾选此项表示线程组中的线程永久执行下去

【same user on each iteration】:每次迭代使用相同的线程,通常有 Cookie 组件时才生效

【延迟创建线程直到需要】:如果勾选了此选项,那么只会在需要用到的时候创建线程

【调度器】:线程调度器包含持续时间、启动延迟两个选项,选中调度器后,需要输入启动和结束时间。

【持续时间】:设置线程组运行多长时间,单位秒

【启动延迟】:设置线程启动延迟时间,单位秒

二、线程组配置示例

  1. 添加一个线程组(用户) 选择测试计划,右键点击后在显示的菜单中选择"添加"--> "线程组"。

  2. 修改默认的属性

  • 从测试计划树型结构中选择线程组,在JMeter窗口右边显示线程组配置面板。

    2.PNG

Ramp-Up Period:默认值为0,这个属性表示每个用户启动的迟延时间。

如果你设置其值为0,JMeter将会立即启动你所有的用户。

如果你输入Ramp-Up Period为10秒,JMeter将会在10秒内完成启动所有的用户。

上图中配置了5个用户并且Ramp-Up Period为10秒,那么启动两个线程之间的时间间隔就是2秒。执行测试查看结果树可以看到线程1在0秒开始启动,线程2在2S启动,线程3在第4秒启动,线程4在第6秒启动,线程5在第8秒启动。

另外,设置Ramp-Up Period可以模拟访问网页的并发用户数逐渐递增的场景,避免启动测试计划时负载过大,造成资源浪费。Ramp-up period值过大或过小对性能测试结果是有影响的。Ramp-up需要充足长以避免在启动测试时有一个太大的工作负载,并且要充足小以至于最后一个线程在第一个完成前启动。  一般设置ramp-up=线程数启动,并上下调整到所需的。即测试执行开始后,每一秒时间创建一个单独的线程,这样既不会造成虚假的系统负担,也不至于持续太长时间,较为合理。

Loop Count: 这个属性表示测试计划的重复次数。如果你设置为1,测试计划只运行一次。 要让JMeter不断的运行,就要选择"永远"这个复选框。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中。旨在简化测试和开发中的API工作流。Postman 工具有 Chrome 扩展和独立客户端,推荐安装独立客户端。Postman 有个 workspace 的概念,workspace 分 personal 和 team 类型。Personal workspace 只能自己查看的 API,Team workspace 可添加成员和设置成员权限,成员之间可共同管理 API。当然我个人使用一般是不登录的,因为登录之后会自动将你的测试历史数据保存到账户里,你可以登陆网页端进行查看。 因为API的很多数据是很敏感的,...
            13 14 2475
            分享
          •   我们讲过性能测试计划,接下来我们就来讲讲如何设计符合项目的性能测试计划。  到上篇为止,我们了解了性能测试计划中包含的内容,但是,这个颗粒度,我觉得作为一名测试经验不够丰富的性能工程师来说,还是有些迷茫,只知道理论还不够,如何把性能测试计划落地,才是我们这次的目标。  所以,接下来,我会结合实际的项目案例,来落地性能测试计划。当然,针对一看就懂的内容,我就不过多唠叨,毕竟,大部分人的想法都是:时间很珍贵,干货要满满。  设计符合项目的性能测试计划  背景  根据你的实际项目来描述即可, 此处省略……  性能目标  根据商品在系统中的下发主流程,来测试系统的单接口最大容量;  根据业务比例设...
            0 0 902
            分享
          •   日常大家聊天时经常提及一个关键词——大环境不好,由此带来了很多行为的变化,有的人迷茫,有的人躺平。本文给大家介绍发生在我身上和身边的真实案例,希望能带给你一些输入。  案例一:曾经的我也极度焦虑  我是2008年参加工作的,届时正处于美国次贷危机中,危机产生的影响是全球范围的。时常看到新闻上有各种公司倒闭的信息,周围人也经常讨论找工作的不易,大环境的惨烈程度与近两年无异。我作为一个职场新鸟,每天极度焦虑,生怕公司会倒闭。每天有大量时间是焦虑不安的精神内耗状态,产生的影响是做事儿没有规划、学习动力不足、容易走神儿、爱做简单的、机械的事儿、不自信等。经过了好长一段时间,我觉得这种状态对我的负向...
            0 0 668
            分享
          • 接口 提到接口测试,免不了首先需要知道什么是接口,接口也就是平常工作当中经常提到的API,英文全称Application Programming Interface,现在市面上有非常多种风格的Web API,目前最流行的是也容易访问的一种风格是REST或者叫RESTful 风格的API。什么是接口测试和为什么要做接口测试?接口测试顾名思义就是对测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。那我们为什么要做接口测试呢,现如...
            0 0 1997
            分享
          •       和也是做软件测试的朋友聊了下软件测试的一些话题,有感所以写了点东西。关于bug漏测:       非测试人员最喜欢问的就是,为什么会有漏测?其实这和开发写的代码中有bug是一个道理。开发不能保证自己的思路一定正确,也无法保证程序各种路径、环境、状态下都工作正常。测试人员也一样。有了测试人员只是增加了一层扑捉bug的网,但是总有漏网的。因为测试人员是最后一道防线,所以任何漏了的,测试人员都有责任。要分析遗漏的原因,思考改进的方法。虽然漏测总是有,但是只有这样,才能让测试人员有足够的质量意识,不断减少漏测。减少漏测是...
            14 15 2595
            分享
      • 51testing软件测试圈微信