性能问题:Kafka Streams中有时会出现延迟峰值

时间:2018-01-02 07:35:53

标签: java performance apache-kafka apache-kafka-streams

我在Kafka Streaming中进行性能测试。我用Transformer创建了一个简单的Streams API。

.

我正在使用带有10个分区的 inTopic 和带有1个分区的 outTopic 。我看到延迟很好,大约4-6毫秒。但是,我有时会面临潜伏期的突然飙升,甚至达到~60 - 1000毫秒。然后几秒后,它逐渐下降延迟到4-6毫秒。这导致我整个实验的平均延迟为~67 ms。

突然飙升的原因是什么?如果有的话,建议我一些性能调整参数。

注意:我只提供了默认的StreamsConfig。

1 个答案:

答案 0 :(得分:1)

产生一定量的消息后,应将数据刷新到磁盘。

这可能会导致您观察到的现象。

请参阅kafka配置的“log.flush.interval.messages”:Link

在生产之后,我不建议您更改此属性以进行改进。您应该更改系统配置:

/proc/sys/vm/dirty_background_ratio
/proc/sys/vm/dirty_ratio

提高自己的msgs flush的效率