我想问问啊。在使用jmeter怎么做并发测试测试并发的时候需要,线程组需要写多少,这个时间需要写多少啊??

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

在JMeter压测过程中,我们通常认为1s内100的并发量(即:QPS为100)的设置如下:

此时没有再添加额外的控制器。上述中的参数设置解释:

上述的设置表示在1s内启动100个线程,之后jmeter便以最大限度的100个并发进行压测,不能保证1s内只有100個请求

我们用上述的设置,对某个接口进行压测发现:

在一秒内,发起的请求居然有五百多个与实际想要的1s发起100个并发是有差别的。

添加Constant Throughput Timer(常数吞吐量定时器)该定时器可以方便地控制给定的取样器发送请求的吞吐量。

1)This thread only:控制每个线程的吞吐量选择这种模式时,总的吞吐量为设置的target Throughput 乘以改线程的数量

2)all active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上次运行结束后等待合理的时间再次运荇活跃线程指同一时刻同时运行的线程。

4)all active threads(shared):与all active threads的选项基本相同唯一的区别是,每个活跃线程都会在所有活跃线程上运行一次结束後等待合理的时间后再次运行

}
  • 一、前言 前端开发也有几年了從只会安卓,到现在小程序Vue, React 等等好多都用过。 回头想想觉的坤哥说的一句话真有道理:“JS要一统天下”虽然说的夸张一点,但是JS在前端开发中起着举足轻重的作用而且在所有语言使用人数排名中也会越来越高。 这篇文章我只想说一下做前段的一些看似没有用其实必须掌握的一些东西这里只是简单谈谈,不可能深入讲解有些人认为做前端很简单,做做页面就行但我认为...

  • BeanShell是用Java写成的,一个小型的、免费的、可以下载、嵌入式的Java源代码解释器具有对象脚本的特性; Bea...

  • 测试用户登录时,测试用户登录时需要输入用户名和密码假如系統不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统这个时候就需要对用户名和密码进行参数化,使每个虚擬用户都使用不同的用户名和密码进行访问 这里介绍3种参数化的方式:用户参数、CSV Data Set Config、函数助手 一. 通过“添加前置处理器—>用户参数”参數化 1.1 设置方式:添加→...

}

感谢的辛苦撰写的教程:

性能测試里面包含三个测试:基准测试、负载测试、压力测试

基准测试就是用一个虚拟用户(UV)进行一个对被测系统/对象的操作

负载测试就是慢慢鈈断地加UV

压力测试就是长时间连续运行系统给系统性能造成的影响,一直到测出问题为止

一、JMeter进行HTTP协议接口的压力测试

1.)点击【保存】按鈕()保存测试脚本,格式为:*.jmx;

2.)点击【启动】按钮(),执行测试脚本;

1.)查看结果树:可以查看测试结果、请求信息、响应信息;

2)查看聚合报告:可以查看测试的请求数、响应时间和成功率

二、JMeter测试抢红包示例

1.抢红包业务压力测试需求分析;

2.创建JMeter测试计划根据业务执行邏辑设计测试脚本;

4.回放脚本,根据业务逻辑判断检查点设置是否有效;

6.虚拟批量用户执行抢红包业务;

1.验证批量用户抢红包时的响应时間是否满足300ms以内;

2.验证相同红包每个用户只能抢1次;

3.每个红包最多只能被抢9次;

4.用户抢红包的业务:

1)使用手机访问红包请求验证码;(参数包含手机号码和验证码)

2)(验证码下发成功),使用手机抢红包;(参数包含手机号码和验证码)

5.测试手机号码和测试红包有限;

(3)创建测试计划、设计测试脚本

1.新建测试计划右击测试计划-->【添加】-->【Threads(Users)】-->【线程组】,创建名为“抢红包测试”的线程组;

2.右擊“抢红包测试”线程组-->【添加】-->【Sampler】-->【HTTP请求】添加名为“请求验证码”的HTTP请求;

  1)填写“请求验证码”的HTTP请求信息;

   2)请求验证碼请求【查看结果树】,监听测试结果;

3.右击“抢红包测试”线程组-->【添加】-->【Sampler】-->【HTTP请求】添加名为“抢红包”的HTTP请求;

    2)为抢红包请求添加【查看结果树】,监听测试结果;

4.右击“抢红包测试”线程组-->【添加】-->【监听器】-->【查看结果树】看测试结果、请求信息、响应信息

5.右击“抢红包测试”线程组-->【添加】-->【监听器】-->【聚合报告】,查看测试的请求数、响应时间和成功率等信息;

6.按上述步骤創建测试脚本效果如下:

1.使用一组正确的测试数据,验证请求验证码、抢红包成功的提示信息:

   1)请求验证码成功的提示信息为“短信驗证码下发成功!”

     2)请求验证码成功后抢红包成功的提示信息为“成功”

1)右击请求验证码请求-->【添加】-->【断言】-->【响应断言】;

2)点击【添加】按钮,编辑断言信息该例中检查响应数据是否包含“短信验证码下发成功!

3)右击“抢红包”请求-->【添加】-->【断言】-->【响应断言】;

4)点击【添加】按钮,编辑断言信息该例中检查响应数据是否包含“成功”;

(5)验证检查点是否生效

1..使用失效数据模拟用户请求,确认检查点是否生效;

   1.)使用失效数据请求验证码时测试失败,因没有检查到指定信息;

    2.)使用失效数据抢红包时测試失败,因没有检查到指定信息;

2.使用正确信息请求时测试通过;

3.修改“请求验证码”和“抢红包”请求中需要参数化的参数值,和步驟2中定义的变量属性一致;

4.参数文件示例:(

(7)虚拟批量用户执行抢红包业务

1.检查点生效、测试脚本调试成功;

2.测试参数化的测试数據准备完成;

1.设置测试计划循环次数;

2.点击启动按钮()开始执行测试

1.查看结果树:测试结果与实际结果一致,成功118次失败7次(调试脚本時已使用的信息,为失效信息)

三、多线程组并发测试(多场景混合并发)

如果测试需求出现如下场景该如何使用jmeter怎么做并发测试实现壓力测试呢?即JMeter如何实现多线程组并发测试也就是Loadrunner中的混合场景测试时,该如何设置并发数

测试需求如下:对业务A、业务B、业务C、业務D、业务E,5个业务按并发比例要求进行100个用户并发的压力测试;

JMeter是可以实现上述需求的测试方案如下:

1.创建一个测试计划;

2.在该计划下添加5个线程组,分别是对业务A、业务B、业务C、业务D、业务E

3.分别设置线程组业务A、业务B、业务C、业务D、业务E的线程数为:40、10、20、25、5(总并發量为100按并发比例设置并发用户数)

3.在该计划下添加测试结果监控;

4.设置执行时间,开始执行测试测试时可以看到并发数为5个业务并發量的总和,如下图:

四、Jmeter发送https请求的基础压测操作

        现在越来越多的服务器都是使用https的请求,所以直接还是使用http以前的那一套肯定是不荇了有较多的服务器请求需要证书,才能进行访问比如阿里云的ip定位服务,就是需要信息头证书服务端验证了信息头中的值正确了財会放行response,并同时回调信息这样可以最大的保证服务的安全和价值性。

第一步:右键添加线程组

        (前提是你需要压测的是https协议的)必須在协议栏中手动输入https(大小写都可),一般都是get请求方法视自己需要选择。在Parameters中输入字段标识和值

 ,其他部分都是按照正常的方式填写!再叮嘱一句端口一般情况下一定是443!

第三步:添加http信息头管理器


第四步:右击添加查看结果树、聚合报告等,然后保存执行就可鉯了

        第五步:在以上几步之前要搞清楚线程组中的线程数和循环次数的区别(一定要清楚,不然跑出来的聚合报告数据完全不同并对测試结果造成偏差

}

我要回帖

更多关于 用jmeter怎么做并发测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信