我想知道如何对Kafka消费者进行负载测试。
在我的应用程序中,消费者读取来自kafka的消息并做了很多工作,其中大部分工作是在数据库中编写内容。因为这对我的团队来说是一个重要的过程,所以我希望能够对消费者进行负载测试,并且能够得到一些关于消费情况的报告。这样做的最终目的是,它在我们的ci中生成报告,我们将能够看到相同消息负载下消耗的演变。
可悲的是,我真的不明白我怎么能做到这一点。你知道我该怎么做吗?
到目前为止,我正在考虑在一个专用环境中复制生产主题,每当我想执行负载测试时,我都会移动偏移量。这无助于我得到一份消费报告。
谢谢你读我的书。
1条答案
按热度按时间ds97pgxw1#
有一个单独的“负载测试”主题是一个好主意。根据主题保留策略(大小/时间),您可以删除要测试的应用程序的使用者偏移量,并让它从“最早”开始使用。
我不知道您的体系结构,但我强烈建议您持续监视您的应用程序:编写适当的度量并密切关注它们。在aws上运行时,cloudwatch将是一个明显的选择。但是还有很多其他服务可以将度量数据发布到(grafana cloud、newrelic等)。
如果您想作为ci管道的一部分继续运行负载测试,您应该选择固定的输入。例如,使用一组固定的100k消息进行测试。否则你的结果将不确定,很难比较。如果您的“核心”数据处理可以在不依赖Kafka本身的情况下运行,那么这将非常有用:输入不可知,消息可能来自文件、数据库或Kafka主题。