我有一个Kafka Connect Sink将记录从Kafka主题写入S3。它正在工作,但太慢了。Kafka 主题接收 ~30k 消息/秒。连接接收器无法跟上。我尝试将 Kafka 连接器tasks.max
从 1 增加到 3,这创建了更多任务,但这似乎无助于提高 msg/sec 速度。我尝试增加 Kafka Connect worker CPU 分配,这似乎也没有帮助。
我还能尝试什么?监控哪些指标有助于进一步确定瓶颈?
更新:Kafka 主题有 5 个分区。Kafka 集群有 5 个代理服务器。Kafka Connect 在 Kubernetes 集群中运行,并使用最新的 Confluent Kafka Connect 5.4.0。Kafka 代理运行的是一个更旧的版本。
从您的评论中,我看到这是网络带宽问题。
但是要了解这一点,您可以使用kafka-connect的JMX指标。
domain: kafka.connect
type: sink-task-metrics
attribute:
- sink-record-send-rate
- put-batch-avg-time-ms
domain: kafka.consumer
type: consumer-fetch-manager-metrics
attribute:
- records-per-request-avg