我正在卡夫卡流媒体中做性能测试。我用转换器创建了一个简单的Streams API。
// Stream data from input topic
builder.stream(Serdes.String(), Serdes.String(), inTopic)
// convert csv data to avro
.transformValues(new TransformSupplier())
// post converted data to output topic
.to(Serdes.String(), Serdes.ByteArray(), outTopic);
我使用的是具有10个分区的inTopic和一个分区的outTopic。我看到潜伏期很好,在4-6毫秒左右.但是,有时我的潜伏期会突然上升,甚至达到60~ 1000 ms。几秒钟后,它的潜伏期逐渐下降到4-6ms.这导致我整个实验的平均潜伏期为67 ms。
突如其来的暴涨的原因是什么?建议我一些性能调优参数(如果有的话)。
注意:我只提供了默认的StreamsConfig。
发布于 2018-01-02 07:47:54
在产生一定数量的msgs之后,应该将数据刷新到磁盘。
这可能会导致你观察到的现象。
请参阅卡夫卡配置的"log.flush.interval.messages“:链接
在prod之后,我不建议您更改此属性以进行改进。您应该更改您的系统conf:
/proc/sys/vm/dirty_background_ratio
/proc/sys/vm/dirty_ratio
以提高您自己的msgs刷新的效率
https://stackoverflow.com/questions/48057226
复制相似问题