Jmeter JSR223 预处理器和采样器

时间:2021-04-15 20:55:12

标签: apache-kafka jmeter

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

1 个答案:

答案 0 :(得分:0)

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

仅当您的 JSR223 预处理器和采样器累积响应时间恰好为 1 秒时,它才会产生每秒 6000 条消息。如果它更少 - 您每秒将生成更多消息,反之亦然。

例如:

  • 如果预处理器和采样器的执行时间为 500 毫秒 - 您将以每秒 12000 条消息结束
  • 如果预处理器和采样器的执行时间为 2000 毫秒 - 您将每秒发送 3000 条消息

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

如果您每秒发送的消息超过 6000 条,您可以使用 Throughput Shaping Timer

将 JMeter 采样器执行率限制为所需的吞吐量

您可以使用 i.e. Transactions per Second listener

查看当前的吞吐量