【问题标题】:Increase the throughput of kafka提高kafka的吞吐量
【发布时间】:2018-08-03 11:16:56
【问题描述】:

我正在从 CSV 文件中读取数据,并使用 Java 代码将其推送到 3 个 Kafka 代理中。

但是,我的吞吐量只有 5 条消息/秒,而我的预期是大约 200 条消息/秒

我正在使用异步模式推送数据

下面是我的 producer.properties

buffer.memory: 100000000 
batch.size: "3276800"
linger.ms: "5" 
compression.type: lz4 
retries: default 
send.buffer.bytes: 10458760  
connections.max.idle.ms: 10000

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • batch.size 是用来增加吞吐量的,你有没有检查这 5 个消息的大小?
  • 大约 13mb ..
  • 你能发布你的生产者代码吗? CSV 解析器代码?
  • 我正在使用 bufferreader 读取文件,在逗号分隔符上进行拆分,将每个拆分后的值存储在一个数组中并将其发送到生产者代码
  • 但是当我一次运行我的代码 jar 文件 11 次时,我得到 250 消息/秒的吞吐量.. 谁能解释为什么?

标签: java apache-kafka


【解决方案1】:

为什么要编写代码来做到这一点?只需使用 Kafka Connect(它是 Apache Kafka 的一部分)和 https://github.com/jcustenborder/kafka-connect-spooldir,其中包括对 CSV 文件的支持。这可能会表现得更好,并且更容易维护、部署等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多