• Kafka参数优化


    1Broker参数配置(server.properties

    1、网络和io操作线程配置优化

    # broker处理消息的最大线程数(默认为3)
    
    num.network.threads=cpu核数+1
    
    # broker处理磁盘IO的线程数
    
    num.io.threads=cpu核数*2

     

    2、log数据文件刷盘策略

    # 每当producer写入10000条消息时,刷数据到磁盘
    
    log.flush.interval.messages=10000
    
    # 每间隔1秒钟时间,刷数据到磁盘
    
    log.flush.interval.ms=1000

     

    3、日志保留策略配置

    # 保留三天,也可以对个别主题单独设置 (log.cleaner.delete.retention.ms)
    
    log.retention.hours=72

     

    4、Replica相关配置

    offsets.topic.replication.factor:3

    # 这个参数指新创建一个topic时,默认的Replica数量,Replica过少会影响数据的可用性,太多则会白白浪费存储资源,一般建议在2~3为宜。

    2Producer优化(producer.properties

    buffer.memory:33554432 (32m)

    #在Producer端用来存放尚未发送出去的Message的缓冲区大小。缓冲区满了之后可以选择阻塞发送或抛出异常,由block.on.buffer.full的配置来决定。

     

    compression.type:none

    #默认发送不进行压缩,推荐配置一种适合的压缩算法,可以大幅度的减缓网络压力和Broker的存储压力。

    3Consumer优化

    num.consumer.fetchers:1

    #启动Consumer的个数,适当增加可以提高并发度。

     

    fetch.min.bytes:1

    #每次Fetch Request至少要拿到多少字节的数据才可以返回。

     

    fetch.wait.max.ms:100

    #在Fetch Request获取的数据至少达到fetch.min.bytes之前,允许等待的最大时长。对应上面说到的Purgatory中请求的超时时间。

    4Kafka内存调整(kafka-server-start.sh

    默认内存1个G,生产环境尽量不要超过6个G。

    export KAFKA_HEAP_OPTS="-Xms4g -Xmx4g"

  • 相关阅读:
    面向对象程序设计简介(1/2)
    iOS官方Sample大全
    AFN不支持 "text/html" 的数据的问题:unacceptable content-type: text/html
    谈ObjC对象的两段构造模式
    关于self和super在oc中的疑惑与分析 (self= [super init])
    在Xcode中使用Git进行源码版本控制
    NSObject之二
    NSObject之一
    Objective-C Runtime 运行时之六:拾遗
    Objective-C Runtime 运行时之五:协议与分类
  • 原文地址:https://www.cnblogs.com/successok/p/14218953.html
Copyright © 2020-2023  润新知