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 : 每一个请求的线程,都是从第一行开始,每个循环都取新一行数据

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

  • 相关阅读:
    while for循环
    Python模块
    python内置函数
    【简介】《GM/T 0034-2014 基于SM2密码算法的证书认证系统密码及其相关安全技术规范》
    Markdown的Diagrams
    密码设备管理-对称密钥管理
    TortoiseSVN的简单使用
    Android Studio安装后的设置
    Android Studio升级后,新建Activity后setContentView(R.layout.activity_layout_main);中R变红
    简介Floyd算法
  • 原文地址:https://www.cnblogs.com/xiaoyu2018/p/10184813.html
Copyright © 2011-2022 走看看