【问题标题】:Jmeter JSR223 Pre processor and samplerJmeter JSR223 预处理器和采样器
【发布时间】:2021-04-15 20:55:12
【问题描述】:

我在并发线程组中有一个 jsr223 预处理器,它创建数据以将其发送给 Kafka 生产者。我有一个 JSR 采样器,它使用 Kafka 客户端 2.7.0 向 Kafka 程序发送消息。 每次发送给 Kafka 的消息都应该不同,例如它具有应该不同的设备信息和随时间变化的事件(即当前时间)。这些是在没有任何问题的情况下生成的,因为我对它进行了很少的测试 (50) 线程。我遇到的问题是当我想发送更多消息时,例如每秒 6000 条消息。如何解决此问题 下面是我的设置

【问题讨论】:

    标签: apache-kafka jmeter


    【解决方案1】:

    您正在向我们展示配置为启动 6000 个线程(虚拟用户)并保持 20 秒的并发线程组的屏幕截图。

    仅当您的 JSR223 PreProcessor 和 Sampler 累积响应时间恰好为 1 秒时,它才会导致每秒 6000 条消息。如果它会更少 - 您将每秒生成更多消息,反之亦然。

    例如:

    • 如果 PreProcessor 和 Sampler 执行时间为 500 毫秒 - 您将以每秒 12000 条消息结束
    • 如果 PreProcessor 和 Sampler 执行时间为 2000 毫秒 - 您将每秒发送 3000 条消息

    如果您发送的消息比您需要的少 - 请考虑关注JMeter Best Practices,至少禁用所有侦听器并在非 GUI 模式下运行您的测试。还是不够?增加并发。并发增加,资源不足,仍然不够 - 去Distributed Testing

    如果您发送的消息超过每秒 6000 条,您可以使用 Throughput Shaping Timer 将 JMeter 采样器执行速率限制为所需的吞吐量

    您可以使用 Transactions per Second listener 来查看您当前的吞吐量

    【讨论】:

    • 我在非 GUI 模式下运行,我确实按照您的建议进行了设置。上面的屏幕截图是如何设置的示例。我将禁用监听器并尝试使用并发线程
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多