写点什么

ClkLog 基于 ClickHouse 的百万日活实测报告

作者:ClkLog
  • 2024-11-29
    上海
  • 本文字数:1484 字

    阅读完需:约 5 分钟

ClkLog基于ClickHouse 的百万日活实测报告

背景介绍


自 ClkLog 上线以来,我们不断吸纳用户需求,提升产品的支持能力。今年下半年,我们遇到了日活跃用户数达到百万级别的客户。为了给 ClkLog 用户提供可靠的技术建议和解决方案,同时也为了节省成本,在 Clickhouse 官方支持下,我们在阿里云上对 ClickHouse 社区版、企业版进行了详细测试和成本分析。


本次测试主要目的是评估 ClkLog 在不同日活跃用户量级(一万、十万、百万)下,使用阿里云 ClickHouse 作为埋点系统数据库的各项处理能力,特别是针对百万级日活跃用户的性能表现。


大家可以根据本次测试的结果,结合自己应用的实际日活跃用户数量、成本预算和性能要求等条件,选择合适的服务器硬件配置和部署策略。

 

测试内容


ClkLog 用户行为分析系统主要使用了 23 个统计脚本对原始采集数据进行多维计算,以此获得各维度上的统计报表,所以本次测试是测试日活(1 万/10 万/100 万)的日志数据存储、数据库表存储的容量、统计数据更新时间延迟(依次计算 23 个统计脚本的总耗时)和前端接口的性能。


测试方法


硬件以 4Core CPU、8G 内存为起点,日活以 1 万起点,分别测试 1 万/10 万/100 万,在阿里云服务器上对 ClkLog 日活数据的 Clickhouse 社区自建版和 Clickhouse 企业版在单机和集群模式下进行螺旋上升式测试。


数据准备


本次测试按照每人每天 100 条日志来估算日志量,并以 1 天的日志模板复制出 1 月、1 年的数据。

我们准备各种日活情况下 1 天的日志数据据,导入 clickhouse 中 log_analysis(原始日志表),log_event(事件表),log_user(用户表)。其中原始日志包含 100 个不同页面,1000 个不同设备型号。

 

测试场景


在各种日活情况下,测试以下内容:


  • 日志文件容量、数据库表容量。

  • 后端统计数据更新时间延迟,涉及浏览量、访客、设备、页面、地域、用户画像等中间统计结果的 23 个统计脚本的执行总耗时。

  • 前端接口在一天、一周、一个月、一年等时间跨度的耗时。

 

测试结果


1)Clickhouse 社区版单机 


2)Clickhouse 社区版集群(2 个节点)


3)Clickhouse 企业版集群(2 个节点), 100 万日活(人均 100 条日志)


汇总分析


1)1 万/10 万/100 万日活数据,按每日人均 100 条日志采集,采集日志文件在 1 天、1 个月、1 年下的占用的空间存储总量如下图所示:


2)1 万/10 万/100 万日活数据,按每日人均 100 条采集日志日库,数据库文件在 1 天、1 个月、1 年下的相关表的记录总数核各个表的占用的空间总量如下图所示:


3)23 个统计脚本总耗时(单位:毫秒)


*说明:我们只在 ClickHouse 企业版集群下做了 100 万日活的测试。

 

4)集群版统计脚本总耗时对比


测试结论


根据上述测试结果可得出以下结论:


1.Clickhouse 社区版,相同服务器配置,2 个节点集群模式比单机模式下,统计脚本总耗时减少 80%以上。


2.Clickhouse 企业版集群在最低可选配置 4 核 16GB 无弹性扩容的 2 个节点上,100 万的测试结果已近似社区版 2 节点每节点 16 核 32GB 内存的结果。


3.Clickhouse 企业版集群单节点起步 4 核可弹升至 8 核的 2 个节点上,100 万的测试结果对比社区版 2 节点每节点 16 核 32GB 内存,效率可提升 30%


4.企业版集群测试,随着最大可弹升 CCU 配置的提升,查询效率可继续提升。


5.成本测算:本次测试 Clickhouse 社区版使用 ecs.u1-c1m2.4xlarge 机型,存储选择 ESSD 20GB PL0,双节点加存储(3T)包月成本为:1348 * 2(计算)+1588(存储)= 4280 元。而企业版选择 8-16CCU,预付资源包成本为:16*184.6*0.7+3*1024*0.12=2400 元,轻松节省 40%+成本!


(*说明:184.6 为企业本每 CCU 预付单价每月,实际 CPU 使用在 min(8)和 max(16)之间波动,0.7 为一般客户弹性系数;0.12 为对象存储企业版每 GB 预付单价每月)

 

希望本次测试结果能为有需要的伙伴们提供有价值的信息。如果您有任何关于性能或功能方面的问题,欢迎随时联系我们。





用户头像

ClkLog

关注

还未添加个人签名 2023-11-07 加入

Clklog是一款记录用户行为,洞悉个人画像免费的开源软件,其采用轻量级架构和常用的开源技术,对功能集成和二次开发团队极为友好、普通用户尤为友善!

评论

发布
暂无评论
ClkLog基于ClickHouse 的百万日活实测报告_测试_ClkLog_InfoQ写作社区