在Kafka上运行一些性能测试,我们在生产者中有很差的延迟。检查Kafka代理日志,我可以看到此日志[主题]在860毫秒内写入偏移量为331258且具有62个生成器ID的生成器快照。(Kafka.utils.Logging)我不知道这是否是在ack到生产者(ack=all)之前写入磁盘或副本所需的时间,但这800毫秒对我来说似乎很多。问候
30byixjq1#
这需要详细的分析。以下是你可以做的几件事:1.监视Kafka代理/生产者资源(如CPU/内存),查看是否有任何特定资源的使用率接近100%。1.如果Kafka代理资源饱和,那么对于你的负载,你可能需要提供更多的资源给你的kafka代理。同样的逻辑也适用于你的kafka生产者。1.如果资源没有饱和,你需要调整一下你的Kafka生产者配置。计算一下kafka生产者的粗略吞吐量(消息/秒和字节/秒)。检查kafka生产者配置默认值,看看你是否能找到可能的原因。有很多生产者配置,比如:batch.size,buffer.memory,linger.ms,max.request.size等,其中任何一个都可能是您的生产商无法以最佳方式执行的原因。
batch.size
buffer.memory
linger.ms
max.request.size
1条答案
按热度按时间30byixjq1#
这需要详细的分析。以下是你可以做的几件事:
1.监视Kafka代理/生产者资源(如CPU/内存),查看是否有任何特定资源的使用率接近100%。
1.如果Kafka代理资源饱和,那么对于你的负载,你可能需要提供更多的资源给你的kafka代理。同样的逻辑也适用于你的kafka生产者。
1.如果资源没有饱和,你需要调整一下你的Kafka生产者配置。计算一下kafka生产者的粗略吞吐量(消息/秒和字节/秒)。检查kafka生产者配置默认值,看看你是否能找到可能的原因。有很多生产者配置,比如:
batch.size
,buffer.memory
,linger.ms
,max.request.size
等,其中任何一个都可能是您的生产商无法以最佳方式执行的原因。