Apache kafka 使用kafka mirrormaker时会出现大量延迟
我已经建立了一个MirrorMaker集群,它使用来自世界各地集群的主题 问题在于镜像集群(位于欧盟)和源集群(位于美国)之间的延迟造成了偏移滞后的巨大峰值 镜像使用9个主题,每个主题由24个分区组成 镜像设置Apache kafka 使用kafka mirrormaker时会出现大量延迟,apache-kafka,latency,kafka-producer-api,mirroring,Apache Kafka,Latency,Kafka Producer Api,Mirroring,我已经建立了一个MirrorMaker集群,它使用来自世界各地集群的主题 问题在于镜像集群(位于欧盟)和源集群(位于美国)之间的延迟造成了偏移滞后的巨大峰值 镜像使用9个主题,每个主题由24个分区组成 镜像设置 producer.properties设置 我一直在尝试增加批量大小和引入linger来提高吞吐量,但到目前为止,我的努力都失败了 使用理想的批处理大小的最佳方法是什么?引入linger.ms对如此高的延迟率非常有用 如果这看起来含糊不清,我深表歉意,但我是卡夫卡新手,调整服务器很困难。
producer.properties
设置
我一直在尝试增加批量大小和引入linger来提高吞吐量,但到目前为止,我的努力都失败了
使用理想的批处理大小的最佳方法是什么?引入linger.ms
对如此高的延迟率非常有用
如果这看起来含糊不清,我深表歉意,但我是卡夫卡新手,调整服务器很困难。对于调整生产者设置,我建议按照本幻灯片中描述的方法开始:
但是,由于mirror maker正在目标集群中运行,如果我理解正确,我怀疑瓶颈可能是源集群(US->EU)的消耗,而不是生成与mirror maker位于同一位置的目标集群 首先-您看到了多少延迟 延迟还取决于数据吞吐量。在我的例子中,每秒10k事件,记录为4KB(记录的大小也很重要)。我观察到producer平均延迟为1.5毫秒,最大延迟为3.5毫秒,对于100k EPS,我观察到producer平均延迟为3.5毫秒,最大延迟接近30秒(非常高) 这取决于许多因素。 总延迟= 网络延迟(可以使用Ping-one-of-US框进行检查,它将为您提供RTT) + 镜像生成器延迟(Confluent replicator cliams,它引入了16ms,我们可以预期Apache Kafka镜像生成器会有或多或少的延迟) 还查,
Producer buffer memory - default is 32 MB.
acks recommendation is 1 (i.e. leader+ 1 follower) o.w it will more delays.
socket buffer
send.buffer.bytes
receive.buffer.bytes
num.network.threads
num.io.threads
我没有在你的配置中重试。
是否启用了压缩功能?在同一WAN和同一主机上使用FTP或其他工具的最大吞吐量是多少?与您使用MM时看到的吞吐量结果相比如何?换句话说,您如何知道这甚至是卡夫卡问题,而不是带宽或TCP LFN问题?
bootstrap.servers=localhost:9092
acks=-1
retries=2147483647
client.id=us.mm.producer
batch.size=200
linger.ms=10
Producer buffer memory - default is 32 MB.
acks recommendation is 1 (i.e. leader+ 1 follower) o.w it will more delays.
socket buffer
send.buffer.bytes
receive.buffer.bytes
num.network.threads
num.io.threads