草帽路飞UU 发表于 2022-11-7 15:57:17

实现JMeter多接口指定TPS同时并发的2种方式

本帖最后由 草帽路飞UU 于 2022-11-7 15:59 编辑

方式一:多线程组指定TPS同时并发

  示例:接口1、接口2、接口3……

  1、新建线程组

  1) 右键测试计划,依次选择 添加-Threads-线程组


      
       2) 点击线程组,输入并发数

  3) 勾选循环次数:永远

  4) 勾选调度器:输入执行时间



2、新建HTTP信息头管理器

  1)右键线程组,依次选择 添加-配置元件-HTTP信息头管理器




2)点击添加按钮,输入信息头请求参数名称和值,与请求格式(Content-Type)




注:若所有接口请求头相同,可直接在测试计划节点下新建一个HTTP信息头管理器;若不相同,则需在对应线程组下各新建一个HTTP信息头管理器

  3、新建吞吐量计时器

  1) 右键线程组,依次选择添加-定时器- Constant Throughput Timer




2)Target Throughput输入目标TPS(转换成毫秒输入)

  3)Calculate Throughput based on:选择this thread only



4、新建HTTP请求(接口1)

  1) 右键线程组,依次选择 添加-Sampler-Http请求


   
       2)选择HTTP请求方法


  3)填写HTTP请求地址

  4)填写请求参数



5、接口2、3新建步骤同上(重复1、2、3、4步)

  可直接右键线程组复制,右键测试计划粘贴

  6、添加聚合报告

  1) 右键测试计划,依次选择 添加-监听器-聚合报告




2) 点击执行按钮

  执行完成后,查看聚合报告




聚合报告各字段说明:

  1、Label - 请求对应的name属性值。

  2、 Samples - 具有相同标号的样本数,总的发出请求数。

  3、Average - 请求的平均响应时间。

  4、Median - 50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。

  5、90% Line - 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。

  6、95% Line - 95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。

  7、99% Line - 99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。

  8、Min - 最小响应时间。

  9、Max - 最大响应时间。

  10、Error % - 本次测试中,有错误请求的百分比。

  11、Throughput - 吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。

  12、Received KB/sec - 收到的千字节每秒的吞吐量测试。

  13、Sent KB/sec - 发送的千字节每秒的吞吐量测试。

  方式二:单线程组指定TPS同时并发

  1、 线程组下创建Constant Throughput Timer,设定TPS

  2、 线程组下创建吞吐量控制器,设定第一步TPS百分比

  3、 吞吐量控制器下创建HTTP请求

  每个吞吐量控制器的百分比之和=100%备份列表需要使用deepcopy,而不是简单的copy。
















页: [1]
查看完整版本: 实现JMeter多接口指定TPS同时并发的2种方式