Apache kafka 优化卡夫卡配置

Apache kafka 优化卡夫卡配置,apache-kafka,apache-zookeeper,jmx,Apache Kafka,Apache Zookeeper,Jmx,我读过很多关于正确配置卡夫卡并分析其指标的帖子,但我觉得有点迷茫,我真的很想得到一些建议。 我对Kafka message broker相当陌生,我正在尝试优化现有的默认Kafka群集配置,因为我怀疑默认配置不足以供将来使用,而且我认为在峰值期间会出现性能下降 集群是一个Kafka broker&Zookeper集群,配置了大约7-8个java应用程序,它们是生产者/消费者(有时两者兼而有之)。 我通过JMX监控过Kafka broker,发现吞吐量非常低(每秒只有很少的消息,大约~400字节字

我读过很多关于正确配置卡夫卡并分析其指标的帖子,但我觉得有点迷茫,我真的很想得到一些建议。 我对Kafka message broker相当陌生,我正在尝试优化现有的默认Kafka群集配置,因为我怀疑默认配置不足以供将来使用,而且我认为在峰值期间会出现性能下降

集群是一个Kafka broker&Zookeper集群,配置了大约7-8个java应用程序,它们是生产者/消费者(有时两者兼而有之)。
我通过JMX监控过Kafka broker,发现吞吐量非常低(每秒只有很少的消息,大约~400字节字节的teinpersec~40字节的bytesopersec),大约有100个不同的主题(大部分是流主题),每个主题只有一个分区,消费者之间也没有并发,我还注意到kafka请求处理程序池大部分是空闲的(这意味着它很难工作)

我真的不知道我是否应该增加分区的数量并使使用者并发,如果我这样做,那么我的数量是多少?bytesInPerSec和ByteOutperSec之间有一个奇怪的区别,几乎x10,如前所述,它是因为流而发生的吗? 我还应该提到,卡夫卡目前运行的内存为1GRAM,Zookeper运行的内存为512MB,机器中有更多的资源,因此我可以提供更多的资源,但我真的不知道我是否应该这样做。
最后几个问题,我的案例是否有一些基本的好配置? 如果我使用流来提高性能,我应该使用一些特殊的配置吗? 是否还有其他我应该关注的JMX指标


非常感谢你的帮助

强烈建议您阅读这篇文章,因为它解释了性能调整中涉及的不同折衷,一般来说,Kafka默认为低延迟,如果在整个过程中以最小的耐用性为代价。但是,有了一个代理,您就过早地进行了优化。如果你的瓶颈不是卡夫卡(比如网络),我也不会感到惊讶。字节输入和字节输出的差异可能是一个检测问题。也可能是metric bug,但我们需要查看它的版本。也可以看到这里列出的Kafka使用6-8G堆和专用数据磁盘运行。对于容错,您肯定至少需要一个3节点集群。至于监控,您应该明确查看ISR值