【发布时间】:2020-03-17 20:20:48
【问题描述】:
我们的系统接受 post 请求并将 json 正文发送到 kafka 主题,该主题被配置为拓扑的 spout,拓扑生成输出消息到 kafka 主题。 我如何对这个系统进行负载测试?系统每秒处理的消息数。
我打算用jmeter进行负载测试
【问题讨论】:
标签: performance apache-kafka jmeter apache-storm
我们的系统接受 post 请求并将 json 正文发送到 kafka 主题,该主题被配置为拓扑的 spout,拓扑生成输出消息到 kafka 主题。 我如何对这个系统进行负载测试?系统每秒处理的消息数。
我打算用jmeter进行负载测试
【问题讨论】:
标签: performance apache-kafka jmeter apache-storm
如果您打算使用 JMeter,考虑使用 Pepper-Box - Kafka Load Generator 插件是有意义的,它带有 PepperBoxKafkaSampler,它提供了方便的 UI,允许指定您的 Kafka 端点、主题等。
如果您还需要阅读来自 Kafka 主题的消息,您可以使用 JSR223 Test Elements 和 Groovy 语言,查看 Apache Kafka - How to Load Test with JMeter 和 Writing a Kafka Consumer in Java 文章以获取更多信息和示例代码 sn-ps
【讨论】:
每当我们考虑 Web API 的性能或负载测试时,我们都会想到 JMeter,但是您也可以检查 LoadRunner 等替代方案。
但是,从 Kafka 和 Storm 的角度来看,您需要编写storm kafka spout 来读取和提交偏移量,并且您可能需要一些监控工具来检查和验证它在负载下的行为,例如
我已经尝试过 Yahoo Kafka 管理器,它是开源的并且服务于这个目的,可能想试一试:https://github.com/yahoo/kafka-manager,但是还有其他监控工具 Kafka Monitoring tool in Production
如果您只想关注 Kafka 负载性能基准测试,那么您的 kafka 发行版下的以下命令将非常有帮助:
更多详情:https://gist.github.com/ueokande/b96eadd798fff852551b80962862bfb3
【讨论】: