首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Clickhouse 3节点负载不均衡问题分析

Clickhouse 3节点负载不均衡问题分析

作者头像
用户11162737
发布2026-06-16 16:52:48
发布2026-06-16 16:52:48
270
举报

问题

应用反馈三节点集群中,在应用负载均衡的情况下,其中一个节点的负载比其他节点高出4倍左右,需要分析根因。

分析过程

问题节点CPU的使用:

可以看到,问题节点的CPU消耗中,sys使用为22%,user为9.7%,且问题出现的时候基本都是这个比例。经常分析问题的同学肯定警觉起来,这大概率不是一个正常现象。

为了进一步分析sysCPU的消耗,采用perf工具采集CPU 调用栈信息

核心调用堆栈:

bgdistschpool>unknown>unknown>libc-2.17.so>system_call_fastpath>sys_newstat>sysc_newstat>vfs_fstatat>user_path_at>user_path_at_empty>filename_lookup>path_lookupat>lookup_fast>_d_lookup_rcu

细分CPU的使用发现 系统在涉及inode的操作,获取文件状态的时候消耗大量sys CPU。

问题节点A上的文件上在1612万,其余两个正常节点B和C的上所有数据库文件数不超过200万,在问题节点A上仅仅DB.TAB1这一张表的目录下有919万个文件,DB数据库加起来有1612万。

TAB1绝大部分是detached目录下20241108_1708左右产生的备份文件。

此外如下三张表的在A上的文件数远远大于正常节点,分别做清理和转移备份

A 分区数/文件数

B 分区数/文件数

C 分区数/文件数

TAB1

38/1934420

38/2209

38/2209

TAB2

?/1576975

?/78654

?/79635

TAB3

?/1574122

?/78654

?/79635

TAB2和TAB3为分布式表,正常只应该存在表定义,不存在数据文件。现在出现100多万的数据文件是异常行为

相关bug

Bug ID

描述

影响版本

修复版本

CH-29347

分布式表目录下错误生成数据文件

20.8.x

21.3+

CH-30182

分布式表写入路径校验失败导致本地文件泄漏

20.8.1-20.8.11

20.8.12

转移TAB2和TAB3下的文件后,CPU消耗恢复正常。将数据库升级到22.8后问题不再复现。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Techspeak 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 相关bug
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档