首页 > 技术文章 > kafka生产消息的速度跟什么有关?

chen-kh 2016-12-29 19:40 原文

kafka的吞吐量很大,在保证带宽的情况下,网上的一些测试表明3台broker,没有replication,6个partition的情况下,一般的写入速度可以达到300MB/s。参考:kakfa测试

kafka生产消息的速度和什么相关又和什么不相关呢?

相关项:

1,producer线程数:这个不言而喻,多个生产者肯定比一个生产者要快得多。

2,同步发送还是异步发送:一般异步发送要快,速度可以提倍。batch的大小也可能绝对速度的大小,毕竟减少了磁盘的IO。当然,如果kafka的生产场景中生产消息的速度并不快,那就真没必要使用异步发送了。

几乎不相关项:

1,每个producer线程处理一个partition会不会加快速度呢?原以为速度会增快,毕竟不需要切换分区了嘛,然而naive具体原因我还不清楚,不过实际测试发现这样并不会显著增快kafka的生产速度。也许得益于kafka生产消息切换分区的频率不高。

——随机写分区跟设计每个线程(或者多个)写一个分区之间的速度没有明显差异。

2,

推荐阅读