【问题标题】:Different between Critical Section Controller and Simple Controller in JMeterJMeter中临界区控制器和简单控制器的区别
【发布时间】:2021-05-04 08:12:55
【问题描述】:

你能告诉我JMeter中Critical Section Controller和Simple Controller的区别吗?

我不太清楚。

我创建了示例,但它们的结果是相同的。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    Simple Controller 只是将其下方的采样器分组

    让您可以组织您的采样器和其他逻辑控制器。与其他逻辑控制器不同,此控制器不提供存储设备以外的功能

    Critical Section Controller 用于阻塞并行执行的线程

    确保其子元素(采样器/控制器等)将仅由一个线程执行,因为在执行控制器的子元素之前将获取一个命名的锁。

    注意它不适用于分布式测试

    Critical Section Controller 仅在一个 JVM 中获取锁,因此如果使用分布式测试,请确保您的用例不依赖于所有 JVM 阻塞的所有线程。

    如果您使用一个线程,您将不会注意到控制器之间的区别

    【讨论】:

    • 你有临界区控制器的例子吗?
    • @SophieNguyen 在同时运行 2 个请求时使用,例如,如果您写入文件并希望避免失败
    【解决方案2】:
    1. Simple Controller 只是一个容器,您可以将 Samplers 作为它的子对象。它根本不做任何事情,唯一有效的用例是当你想避免代码重复时将它与Test FragmentModule Controller 结合使用

    2. Critical Section Controller 确保其子级一次只由一个线程执行,它可以使用全局lock 来避免race conditions(例如并发写入同一个文件通过几个线程或类似的东西)

    【讨论】:

    • 你能给我举个关键部分控制器的例子吗?
    猜你喜欢
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 2016-06-30
    相关资源
    最近更新 更多