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

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

  • 相关阅读:
    上位机获取Mjpeg视频流程序(C#.NET语言+AForge.NET控件)(待测试)
    C# Ping类的使用
    四旋翼上位机模拟显示四轴状态
    利用Sniffer分析 ARP报文
    C# 基于CSGL opengl
    用C#实现对本机IP地址的设置
    使用grub4dos引导Linux
    几个常用的批处理(DOS指令)的应用
    四旋翼飞行器之OSD(基本完成)
    Posix多线程编程学习笔记(转)
  • 原文地址:https://www.cnblogs.com/xiaoyu2018/p/10184813.html
Copyright © 2020-2023  润新知