【问题标题】:Load testing with Kafka and Storm使用 Kafka 和 Storm 进行负载测试
【发布时间】:2020-03-17 20:20:48
【问题描述】:

我们的系统接受 post 请求并将 json 正文发送到 kafka 主题,该主题被配置为拓扑的 spout,拓扑生成输出消息到 kafka 主题。 我如何对这个系统进行负载测试?系统每秒处理的消息数。

我打算用jmeter进行负载测试

【问题讨论】:

    标签: performance apache-kafka jmeter apache-storm


    【解决方案1】:

    如果您打算使用 JMeter,考虑使用 Pepper-Box - Kafka Load Generator 插件是有意义的,它带有 PepperBoxKafkaSampler,它提供了方便的 UI,允许指定您的 Kafka 端点、主题等。

    如果您还需要阅读来自 Kafka 主题的消息,您可以使用 JSR223 Test Elements 和 Groovy 语言,查看 Apache Kafka - How to Load Test with JMeterWriting a Kafka Consumer in Java 文章以获取更多信息和示例代码 sn-ps

    【讨论】:

    • 谢谢,但实际上我可以使用 post API 作为生产者将消息发布到主题,但我们想对我们的 apachestorm 拓扑进行负载测试
    【解决方案2】:

    每当我们考虑 Web API 的性能或负载测试时,我们都会想到 JMeter,但是您也可以检查 LoadRunner 等替代方案。

    但是,从 Kafka 和 Storm 的角度来看,您需要编写storm kafka spout 来读取和提交偏移量,并且您可能需要一些监控工具来检查和验证它​​在负载下的行为,例如

    • 数据大小的吞吐量(消息/秒)。
    • 消息数量的吞吐量(消息/秒)。
    • 生产者方面的表现
    • 消费者方面的表现

    我已经尝试过 Yahoo Kafka 管理器,它是开源的并且服务于这个目的,可能想试一试:https://github.com/yahoo/kafka-manager,但是还有其他监控工具 Kafka Monitoring tool in Production

    如果您只想关注 Kafka 负载性能基准测试,那么您的 kafka 发行版下的以下命令将非常有帮助:

    • kafka-producer-perf-test.sh
    • kafka-consumer-perf-test.sh

    更多详情:https://gist.github.com/ueokande/b96eadd798fff852551b80962862bfb3

    【讨论】:

    • 感谢您的信息!!基本上kafka主题对我们来说只是输出存储,基本上我们想对我们的风暴拓扑进行基准测试,所以我们要强调我们的拓扑。如何实现呢?
    猜你喜欢
    • 2017-02-08
    • 2019-03-10
    • 2012-07-03
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    相关资源
    最近更新 更多