gpt4 book ai didi

apache-kafka - 如何找到Kafka brokers CPU使用率高的根本原因?

转载 作者:行者123 更新时间:2023-12-04 04:53:02 25 4
gpt4 key购买 nike

我负责操作两个 kafka 集群(一个用于生产环境,一个用于我们的开发环境)。设置大多相似,但开发环境没有 SASL/SSL 设置,仅使用 4 个代理而不是 8 个代理。每个代理都分配给一个专用的 google kubernetes 节点,该节点具有 4 个 vCPU 和 26GB RAM。

在我们的开发环境中,我们每秒收到大约 1000 条消息,并且 4 个代理中的每一个都非常一致地使用 4 个可用 CPU 内核中的 3 个(75% CPU 使用率)。

在我们的 prod 环境中,我们每秒收到大约 1500 条消息,CPU 使用率也是那里的 4 个内核中的 3 个。

似乎 CPU 使用率至少是我们的瓶颈,我想知道如何执行 CPU 分析,以便我知道究竟是什么导致了高 CPU 使用率。由于它相对一致,我想这可能是我们的快速压缩。

我对如何调查高 cpu 使用率的原因以及如何在我的集群中进行调整的所有想法都很感兴趣。

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

  • 旁注:我已经确保生产者生产他们的消息快速压缩。我可以访问所有 J​​MX 指标,但找不到任何有助于计算 CPU 使用率的信息。

    我的普罗米修斯已经附加了指标(这也是我从中获取 CPU 使用情况统计数据的地方)。问题是容器的 CPU 使用率并没有告诉我为什么它那么高。我需要更多的粒度 e。 G。 CPU 周期花费在什么上(压缩?代理通信?sasl/ssl?)。

    最佳答案

    如果您可以访问 JMX 指标,那么您几乎完成了对 CPU 的分析。所有要做的就是安装 Prometheus 和 Grafana,然后将指标存储在 Prometheus 中并使用 Grafana 监控它们。您可以在 Monitoring Kafka 中找到完整的步骤

    Grafana Dashboard for cluster monitoring

    注意:如果您怀疑 snappy 压缩,也许是 this performance test能帮你

    更新:

    基于 Confluent ,大部分CPU使用是因为SSL。

    Note that if SSL is enabled, the CPU requirements can be significantly higher (the exact details depend on the CPU type and JVM implementation).

    You should choose a modern processor with multiple cores. Common clusters utilize 24 core machines.

    If you need to choose between faster CPUs or more cores, choose more cores. The extra concurrency that multiple cores offers will far outweigh a slightly faster clock speed.

    关于apache-kafka - 如何找到Kafka brokers CPU使用率高的根本原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54953176/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com