zoukankan      html  css  js  c++  java
  • JMeter学习笔记(十一) 关于 CSV Data Set Config 的 Sharing mode 对取值的影响

      关于 CSV Data Set Config 的一些介绍之前已经梳理过了,可以参考: https://www.cnblogs.com/xiaoyu2018/p/10184127.html 。

      今天主要是对于HTTP请求读取CSV文件的数据的一些思路整理,记录的步骤可能比较啰嗦,但有对比就比较好理解。

    首先,先添加相应的测试计划、线程组、HTTP请求 以及 CSV Data Set Config

    1、测试计划的线程数为1,循环数为1的前提下,修改Sharing mode

    数据:线程组A(请求A1),线程组B(请求B1),线程组C(C1)

    当有多个线程时:

     All threads : 按照执行顺序,每个线程请求行一行数据

    (A1,A2,A3取第一行数据,B1,B2,B3取第二行数据;C1,C2,C3取第三行数据)

    Current thread group : 每个线程组都是取的第一行数据

    (A1,A2,A3取第一行数据,B1,B2,B3取第一行数据;C1,C2,C3取第一行数据)

     Current thread : 每个请求的每个线程都是从第一行数据开始取

    (A1,A2,A3取第一行数据,B1,B2,B3取第一行数据;C1,C2,C3取第一行数据)

     

    2、测试计划的线程数为n,循环数为1的前提下,修改Sharing mode

    数据:线程组A(请求A1,A2,A3),线程组B(请求B1,B2,B3),线程组C(C1,C2,C3)

    当有多个线程时:

     All threads : 同一个线程组中的所有请求的第n个线程都是取同一行数据,但是所有线程组,都是取新的一行数据

    (A1,A2,A3第一次取第一行数据,第二次去第二行数据;B1,B2,B3第一次取第三行数据,第二次取第四行数据;C1,C2,C3第一次取第五行数据,第二次取第六行数据)

    Current thread group : 线程组中,每个请求有n个线程,从线程1-n都是从第一行数据开始取

    (A1,A2,A3第一次取第一行数据,第二次去第二行数据;B1,B2,B3第一次取第一行数据,第二次取第二行数据;C1,C2,C3第一次取第一行数据,第二次取第二行数据)

     Current thread : 每个请求的每个线程都是从第一行数据开始取

    (A1,A2,A3第一次取第一行数据,第二次去第一行数据;B1,B2,B3第一次取第一行数据,第二次取第一行数据;C1,C2,C3第一次取第一行数据,第二次取第一行数据)

    3、测试计划的线程数为1,循环数为n的前提下,修改Sharing mode

    数据:线程组A(请求A1,A2,A3),线程组B(请求B1,B2,B3),线程组C(C1,C2,C3)

    当有多个线程时:

     All threads : 同一个线程组中的所有请求的第n个循环都是取同一行数据,但是每一轮循环都取新一行数据,不同线程组接着上面线程组的顺序取新一行数据

    (A1,A2,A3第一次循环取第一行数据,第二次循环取第二行数据,第三次循环取第三行数据;B1,B2,B3第一次循环取第四行数据,...)

    Current thread group : 线程组中,每个循环都取新一行数据;不同线程组,都是从第一行开始取

    (A1,A2,A3第一次循环取第一行数据,第二次循环取第二行数据,第三次循环取第三行数据;B1,B2,B3第一次循环取第一行数据,C1,C2,C3第一次循环取第一行数据,...)

     Current thread : 每一个请求的线程,每个循环都取新一行数据

    (A1,A2,A3第一次循环取第一行数据,第二次循环取第二行数据,第三次循环取第三行数据;B1,B2,B3第一次循环取第一行数据,C1,C2,C3第一次循环取第一行数据,...)

      

    4、测试计划的线程数为n,循环数为n的前提下,修改Sharing mode

    数据:线程组A(请求A1,A2,A3),线程组B(请求B1,B2,B3),线程组C(C1,C2,C3)

    当有多个线程时:

     All threads : 线程组中所有请求的同批次线程取相同数据,每个请求的每个线程、每一轮循环都取新一行数据,不同线程组接着上面线程组的顺序取新一行数据

    (A1执行了 2*3=6次,分别取了第1-6行数据,A2,A3相同;B1从第1行数开始取,...)

    Current thread group : 线程组中,每个线程每次循环都取新一行数据;不同线程组,都是从第一行开始取

    (A1执行了 2*3=6次,分别取了第1-6行数据,A2,A3相同;B1从第1行数开始取,...)

     Current thread : 每一个请求的线程,都是从第一行开始,每个循环都取新一行数据

    (A1执行第一个线程,循环了3次,分别取第1-3行数据;第二个线程,还是取第1-3行数据;A2,A3相同;B1从第1行数开始取,...)

     

    总结:

     All threads : 不区分线程组,按照执行顺序,每个线程、每次循环,都会取新一行数据

    Current thread group : 线程组中,每个线程、每次循环都取新一行数据;不同线程组,都是从第一行开始取

     Current thread : 每一个请求的线程,都是从第一行开始,每个循环都取新一行数据

    (线程数和循环数,是指线程组中配置“线程属性”)

  • 相关阅读:
    第二次作业——结对项目需求分析与原型设计
    调研《构建之法》指导下的历届作品
    软件工程的实践项目课程的自我目标
    使用@Scheduled注解做定时任务
    ng2中的百度echarts3.0使用——(echarts-ng2)
    angular-cli.json配置参数解释,以及依稀常用命令的通用关键参数解释
    SpringData实现Mongodb的CRUD:MongoTemplate框架
    idea利用jdbc连接ORACLE数据库实现一个查询显示
    dbvisualizer的使用
    DUBBO开发问题:添加无法生成主键
  • 原文地址:https://www.cnblogs.com/xiaoyu2018/p/10184813.html
Copyright © 2011-2022 走看看