有了解 clickhouse 这个数据库的老哥吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hsk9044
V2EX    数据库

有了解 clickhouse 这个数据库的老哥吗

  •  
  •   hsk9044 2020-12-17 15:23:12 +08:00 3204 次点击
    这是一个创建于 1830 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想把 clickhouse 用在公司游戏业务的埋点统计上. 数据库用起来效果很好, 但是给上司演示的时候发现 clickhouse-serv 这个进程会长时间占用 cpu 资源, 占用大概 5-10%的浮动, 我虚拟机的配置是 i7 8700k, 分了 12 个核心, 8G 内存, ssd 储存.

    我有了解过 clickhouse 的后台进程会不断进行合并, 排序数, 但是实际情况是已经十几个小时没有更新过数据了, 但是这个进程还是不断占用 cpu 资源

    我知道这点资源其实根本不算什么, 但是公司服务器资源申请困难, 上司说找不到原因就不用这个数据库了

    第 1 条附言    2020-12-18 11:31:56 +08:00
    发现是因为开了 kafka 的引擎表, clickhouse 会开几个进程一直去消费队列. 因为我 kafka 是外网服务, 所以 cpu 大部分都是在等待 io 的情况. 所以才会出现长时间占用部分 cpu 但是进程又是 sleep 的状态
    21 条回复    2020-12-18 05:24:18 +08:00
    newtype0092
        1
    newtype0092  
       2020-12-17 15:33:03 +08:00
    我们都是 mysql 数据过亿查询效率太低的时候才切到 clickhouse 上的,除了插入和修改成本比较高,需要从业务流程想办法规避,其他没遇到太大问题。
    alexanderchiu
        2
    alexanderchiu  
       2020-12-17 15:34:11 +08:00
    cpu 占用高,你是在一直插入数据吗?
    另外可以用阿里云的 clickhouse,后台会有开发为你提供技术建议和解决 cpu 占用过高问题
    hsk9044
        3
    hsk9044  
    OP
       2020-12-17 15:35:47 +08:00
    @newtype0092 mysql 应该是直接否了, 这边做的埋点业务基本不需要更新, 只要插入, 并且需要做复杂的聚合统计. 现在基本只有 clickhouse 能满足需求了, 但是这个占用资源的现象很费解
    hsk9044
        4
    hsk9044  
    OP
       2020-12-17 15:39:25 +08:00
    @alexanderchiu 不是 cpu 占用高, 而是 clickhouse 的后台进程长时间都会占用部分的 cpu 资源, 其实已经很久没插入数据库了
    monsterxx03
        5
    monsterxx03  
       2020-12-17 15:45:37 +08:00
    没用过, 不过一般思路是 gdb attach 上去看看有哪些活跃线程, 看看对应代码大致在做什么.
    这么点 CPU 占用率, 很正常啊, 就算没数据插入, 后台线程扫描也是有开销的, 看看有什么对应参数限制线程池大小或扫描平率.
    alexanderchiu
        6
    alexanderchiu  
       2020-12-17 15:46:25 +08:00   1
    @hsk9044 我记得如果即使是不插入数据的话,其实 mergeTree 还是会定期根据一定时间间隔来继续合并压缩数据。合并策略有按日期合并。可能这部分会一直占用一定的 cpu 。或者你可以去钉钉的 clickhouse 技术交流群咨询下,阿里云 clickhouse 页面有群号。
    alexanderchiu
        7
    alexanderchiu  
       2020-12-17 15:47:57 +08:00
    顺便打个广告哈哈 可以尝试试下阿里云的 clickhouse (利益相关:在他们的 ck 组实习过 他们会有技术专家专门为你定制方案 /排查问题
    DoctorCat
        8
    DoctorCat  
       2020-12-17 15:51:49 +08:00
    dbskcnc
        9
    dbskcnc  
       2020-12-17 15:53:56 +08:00
    hsk9044
        10
    hsk9044  
    OP
       2020-12-17 16:23:09 +08:00
    @alexanderchiu 好的, 我去买一个看看

    @DoctorCat 那个 issue 的情况似乎不太一样, 我这边查的实际上是没有在合并资源的
    aladdindingding
        11
    aladdindingding  
       2020-12-17 16:34:31 +08:00
    按照什么分区的 我们都是按照天分区的
    hsk9044
        12
    hsk9044  
    OP
       2020-12-17 16:58:48 +08:00
    @aladdindingding 按天+埋点类型, 不过目前分区也不多, 大概 100 个左右
    tikazyq
        13
    tikazyq  
       2020-12-17 17:08:49 +08:00
    不要叫老哥,叫老大
    lancelee01
        14
    lancelee01  
       2020-12-17 17:21:09 +08:00
    ClickHouse 进程占用 CPU 是因为里面有很多线程池,正常的行为活动吧,包括和 ZK 交互、检查旧分区这些。同时你是没有写入业务数据,不代表没有系统数据,比如 ClickHouse 的各种 log 表,自己会写,也会 merge,移除旧的数据判断。所以,占用 CPU 是正常行为,难不成你不进行操作,数据库就得装死冬眠吗。。。哈哈哈
    hsk9044
        15
    hsk9044  
    OP
       2020-12-17 17:22:14 +08:00
    @lancelee01 精辟
    f6x
        16
    f6x  
       2020-12-17 17:24:56 +08:00
    看曲线算平均值把. 有些 db 平时 cpu 很低, 突然一下子 300%才真是不能用.
    DoctorCat
        17
    DoctorCat  
       2020-12-17 17:56:57 +08:00
    There are two types of background actions:

    merging of data parts;
    fetching of data part from replica.

    那是不是 issue 中 alexey-milovidov 提到的第二种原因呢?
    @hsk9044
    hsk9044
        18
    hsk9044  
    OP
       2020-12-17 17:59:53 +08:00
    @DoctorCat 我理解的第二个原因是开了 clickhouse 的集群复制, 实际上我这边只开用了单机
    DoctorCat
        19
    DoctorCat  
       2020-12-17 18:04:35 +08:00
    @hsk9044 那就只能 perf 看下了
    6ufq0VLZn0DDkL80
        20
    6ufq0VLZn0DDkL80  
       2020-12-17 19:57:11 +08:00
    perf 一下不就完了
    levelworm
        21
    levelworm  
       2020-12-18 05:24:18 +08:00 via Android
    数据量多大多频繁啊?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2832 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 13:57 PVG 21:57 LAX 05:57 JFK 08:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86