Kafka Producer 0.9.0性能,大量等待线程

时间:2016-05-01 00:23:44

标签: performance apache-kafka producer

我们正以大约9000条记录/秒的速度向我们的kafka群集写入消息,有时我们发现生产者性能显着下降,然后它永远不会恢复。发生这种情况时,我们会看到以下错误“无法在超时内分配缓冲区”。以下是当流程运行良好且达到错误状态时采用的JMX生产者指标。当进程降级时,“等待线程”度量非常高,任何输入都会受到赞赏。

生产者参数是

batch.size=1000000
linger.ms=30000
acks=-1
metadata.fetch.timeout.ms=1000
compression.type=none
max.request.size=10000000

虽然缓冲区完全可用,但错误是“org.apache.kafka.common.errors.TimeoutException:无法在配置的最大阻塞时间内分配内存”

kafka producer metrics - degraded vs good state

1 个答案:

答案 0 :(得分:0)

有一次你开始发送批​​量的1.000.000消息我认为这就是你性能下降的原因。尝试降低该数字或将linger.ms设置得更低。