我们正在以约9000记录/秒的速度将消息写入我们的kafka集群,有时我们发现生产者的性能会大幅度下降,然后永远无法恢复。发生这种情况时,我们看到以下错误“无法在超时内分配缓冲区”。以下是当进程运行良好以及进入不良状态时所采用的JMX生产者指标。当进程退化时,“等待线程”指标非常高,任何输入都将被赞赏。Kafka Producer 0.9.0性能,大量等待线程
生产者参数是
batch.size=1000000
linger.ms=30000
acks=-1
metadata.fetch.timeout.ms=1000
compression.type=none
max.request.size=10000000
Athough缓冲器是完全可用的错误是“org.apache.kafka.common.errors.TimeoutException:无法配置的最大阻断时间内分配内存”
我对这个话题没有经验,但从我没有经验的观点来看,似乎这个问题可能更适合[服务器故障](https://serverfault.com/)。也许你应该阅读他们的[在主题页面](https://serverfault.com/help/on-topic),看看你是否认为你的问题可以在那里得到更多的关注。再一次,我没有经历过你的话题,但你的问题对我来说可能是Server Fault的一个好问题。 –