为什么文件句柄上的锯齿曲线和我们的 kafka 集群上的 cpu 使用率?
Why sawtooth curve on file handles and cpu usage on our kafka cluster?
我们的 Kafka 集群上有一个有趣的 文件句柄 和 cpu 使用行为,我无法解释 :)我不确定需要哪些信息才能找出原因,所以我将列出一些(如果您遗漏了任何信息,请告诉我):
- 集群中有 3 个节点
- 所有题目重复三次
- 删除/压缩主题之间的比率约为 50/50,保留时间为 7 天
- 删除主要有 1 个分区的主题 (~16)
- 压缩主题 (~20) 大多数有 16 个分区
- 全部使用主题默认设置
此外,我们还有 4 个压缩的主题(1 个分区),其中 segment_ms 和 retention_ms 设置为 1 分钟。此主题用作缓存以提供最新值。
这是显示锯齿行为的指标:
文件句柄 spices 大约有 7 天长,似乎也与 cpu 用法有关。默认 segment_ms(我们将其用于我们的大部分主题)是 7 天。不确定这是否相关。
知道为什么会这样吗?谢谢!
显然,这种有趣的行为是由我们“压缩”的主题引起的。我们用“删除”替换了几乎所有“压缩”主题,只保留了 4 个真正必需的主题(作为缓存)。现在行为恢复正常(正如您在过去几天看到的那样)。
在 Kafka 中,主题由段组成。一旦最后一个条目消失,一个段只会被“垃圾收集”。如果一个主题被压缩,可能会有单个条目(没有进一步更新)阻止整个段被“垃圾收集”,这会导致许多“打开文件句柄”。使用“删除”段可以更频繁地收集垃圾。
我们的 Kafka 集群上有一个有趣的 文件句柄 和 cpu 使用行为,我无法解释 :)我不确定需要哪些信息才能找出原因,所以我将列出一些(如果您遗漏了任何信息,请告诉我):
- 集群中有 3 个节点
- 所有题目重复三次
- 删除/压缩主题之间的比率约为 50/50,保留时间为 7 天
- 删除主要有 1 个分区的主题 (~16)
- 压缩主题 (~20) 大多数有 16 个分区
- 全部使用主题默认设置
此外,我们还有 4 个压缩的主题(1 个分区),其中 segment_ms 和 retention_ms 设置为 1 分钟。此主题用作缓存以提供最新值。
这是显示锯齿行为的指标:
文件句柄 spices 大约有 7 天长,似乎也与 cpu 用法有关。默认 segment_ms(我们将其用于我们的大部分主题)是 7 天。不确定这是否相关。
知道为什么会这样吗?谢谢!
显然,这种有趣的行为是由我们“压缩”的主题引起的。我们用“删除”替换了几乎所有“压缩”主题,只保留了 4 个真正必需的主题(作为缓存)。现在行为恢复正常(正如您在过去几天看到的那样)。
在 Kafka 中,主题由段组成。一旦最后一个条目消失,一个段只会被“垃圾收集”。如果一个主题被压缩,可能会有单个条目(没有进一步更新)阻止整个段被“垃圾收集”,这会导致许多“打开文件句柄”。使用“删除”段可以更频繁地收集垃圾。