我使用带有默认kafkaspout的storm拓扑(使用storm0.10.0)从kafka主题获取json数据并对其进行处理。
有时拓扑的峰值为每秒500k消息而没有任何问题,但通常保持在每秒~10k消息。
通常我没有任何性能问题,但是经过一段可变的时间后,喷口会显示一些失败的元组,拓扑输出会变慢。
我已经仔细检查了到达bolt的所有元组是否都得到了确认,并且日志上没有显示任何错误。
知道为什么会这样吗?我能提供任何额外的信息来帮助调试这个问题吗?
我使用带有默认kafkaspout的storm拓扑(使用storm0.10.0)从kafka主题获取json数据并对其进行处理。
有时拓扑的峰值为每秒500k消息而没有任何问题,但通常保持在每秒~10k消息。
通常我没有任何性能问题,但是经过一段可变的时间后,喷口会显示一些失败的元组,拓扑输出会变慢。
我已经仔细检查了到达bolt的所有元组是否都得到了确认,并且日志上没有显示任何错误。
知道为什么会这样吗?我能提供任何额外的信息来帮助调试这个问题吗?
1条答案
按热度按时间5jdjgkvh1#
将你的storm应用升级到最新版本,kafka/storm中添加了很多功能。
为喷口和螺栓配置最佳螺纹/执行器。
检查螺栓/喷口的延迟,如果超过1秒,则存在瓶颈(型材喷口/螺栓代码)。
Kafka主题可能包含超过1亿条消息(缩短保留期)。
检查storm worker内存(最佳2gb到4gb)。
实现topology.max.spout.pending属性,起始值为1000并相应增加。