中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Kafka参数配置

目的

Kafka为IO型组件,需要调整broker处理消息及磁盘IO的线程数,根据实际场景选择是否使用压缩算法及使用何种压缩算法,同时注意结合磁盘数量设置Kafka的partition数量。

方法

在Kafka服务的Web界面搜索以下参数并修改:

参数

建议值

描述

num.network.threads

128

broker处理消息的最大线程数,主要处理网络IO,读写缓冲区数据。由于当前Kafka主要是网络瓶颈,所以该参数影响特别大。该参数默认值为3,此时对Kafka性能有决定性影响,当不断调大此参数时,性能会有比较大的提升。该参数的建议值是核数+1,但实际由于网卡瓶颈,该参数调到一定程度后对性能几乎没有影响。为了方便调试,我们可以直接将该参数定为核数+1甚至定为最大值(128)。

num.io.threads

65

broker处理磁盘IO的线程数,由于目前Kafka是网络瓶颈,所以磁盘IO的线程数影响并不是很大。目前典型场景单broker部署了23个Kafka盘,均为SAS盘,单盘性能较强。实际3~4个盘,就可以将网络IO跑到瓶颈,所以理论上IO线程数的修改对性能影响非常有限。该参数默认值为8,最高可以调到256。

compression.type

根据实际场景调整。

Kafka压缩算法选择。可以配置为producer(由client生产者决定)、None(不压缩)、gzip、Snappy、lz4。实测几种压缩算法lz4与Snappy表现较好,gzip尽量不选择。但在大多数场景下,还是不压缩更加有优势。压缩算法有时候是双刃剑,并不一定能带来比较好的收益,需要在系统场景中综合考虑使用。

partitions

根据磁盘数量调整,一般为磁盘的1~2倍。

Kafka topic的分区数,该参数与topic强相关,即Kafka数据保存的分区数目,一般要比盘总数大,以保证每个盘都有IO读写。但实际情况硬盘IO没有瓶颈,所以请根据实际情况调整参数。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词