首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找出卡夫卡经纪人CPU使用率高的根本原因?

如何找出卡夫卡经纪人CPU使用率高的根本原因?
EN

Stack Overflow用户
提问于 2019-03-01 22:29:13
回答 1查看 14.2K关注 0票数 14

我负责运行两个kafka集群(一个用于prod,另一个用于开发环境)。安装程序大多类似,但是dev环境没有SASL/SSL设置,只使用4而不是8个代理。每个代理都分配给一个专用的节点,该节点具有4 vCPU和26 is内存。

在我们的dev环境中,大约每秒钟有1000条消息,4个代理程序中的每一个都一致地使用4个可用CPU核心中的3个(75%的CPU使用率)。

在我们的prod环境中,我们在/秒内收到了大约1500条消息,而且CPU的使用率也是4核中的3/4。

看来CPU的使用至少是我们的瓶颈,我想知道如何执行CPU分析,这样我就知道是什么导致了高cpu使用率。因为它是相对一致的,我想这可能是我们的快速压缩。

我对所有的想法感兴趣,我如何能够调查高cpu使用率的原因,以及如何在集群中调整它。

  • Apache版本: 2.1 (CPU负载在Kafka 0.11.x上也是类似的)
  • 开发集群(Snappy压缩,没有SASL/SSL,4 Brokers):1000条消息在/秒内,3个CPU核心一致使用
  • Prod集群(Snappy压缩、SASL/SSL、8 Brokers):1500条消息在/秒内,3个CPU核心一致使用

附带注意:我已经确保生产者产生他们的信息,快压缩。我可以访问所有的JMX指标,但是我找不到任何有用的东西来计算CPU的使用情况。

我已经将度量附加到我的prometheus (这也是我获得CPU使用统计数据的地方)。问题是,容器的CPU使用率并没有告诉我为什么这么高。我需要更多的粒度,例如CPU周期用于什么(压缩)?经纪人沟通?sasl/ssl?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-02 09:50:05

如果您能够访问JMX指标,那么您几乎可以对CPU进行分析。所要做的就是安装Prometheus和Grafana,然后将度量存储在Prometheus中,并使用Grafana监视它们。您可以在监控卡夫卡中找到完整的步骤

注意:如果你对快速压缩持怀疑态度,也许这个性能测试可以帮助你。

更新:

基于汇合,大部分CPU的使用都是由于SSL。

注意,如果启用了SSL,CPU需求可能会大大增加(具体细节取决于CPU类型和JVM实现)。 你应该选择一个多核的现代处理器。普通集群使用24台核心机器。 如果您需要在更快的CPU或更多的核心之间进行选择,请选择更多的核心。多核提供的额外并发性将远远超过稍快的时钟速度。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54953176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档