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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 自 ClkLog 上线以来,我们不断吸纳用户需求,提升产品的支持能力。今年下半年,我们遇到了日活跃用户数达到百万级别的客户。为了给 ClkLog 用户提供可靠的技术建议和解决方案,同时也为了节省成本,在Clickhouse官方支持下,我们在阿里云上对 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社区版单机
图片1.png

2)Clickhouse社区版集群(2个节点)
图片2.png

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

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

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

3)23个统计脚本总耗时(单位:毫秒)
图片6.png

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

4)集群版统计脚本总耗时对比
图片7.png

测试结论
根据上述测试结果可得出以下结论:
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,预付资源包成本为:16184.60.7+31024*0.12=2400 元,轻松节省40%+成本!

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

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


结束语.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 关系型数据库 分布式数据库
|
7月前
|
消息中间件 监控 druid
思源:秒级体验百亿级数据量监控钻取
思源:秒级体验百亿级数据量监控钻取
|
消息中间件 缓存 监控
小记 | 一周上线百万级高并发系统
本文是鱼皮在腾讯实习期间,从零开始一周紧急上线百万高并发系统的相关经验、思路及感悟,分享给大家。花 5 分钟阅读本文,你将收获:1. 加深对实际工作环境、工作状态的了解2. 学习高并发系...
674 0
|
SQL 存储 大数据
10亿+/秒!看阿里如何搞定实时数仓高吞吐实时写入与更新
10亿+/秒!看阿里如何搞定实时数仓高吞吐实时写入与更新
5383 2
10亿+/秒!看阿里如何搞定实时数仓高吞吐实时写入与更新
|
数据采集 分布式计算 关系型数据库
离线计算-国内查询转换率|学习笔记
快速学习离线计算-国内查询转换率
188 0
|
SQL 测试技术 Linux
6亿数据秒级查询,ClickHouse太快了!
clickhouse 在数据分析技术领域早已声名远扬,如果还不知道可以 点这里 了解下。 最近由于项目需求使用到了 clickhouse 做分析数
|
存储 消息中间件 缓存
腾讯看点基于 Flink 构建万亿数据量下的实时数仓及实时查询系统
腾讯看点基于 Flink 构建实时数仓以及实时数据查询系统,亚秒级的响应多维条件查询请求。
腾讯看点基于 Flink 构建万亿数据量下的实时数仓及实时查询系统
|
消息中间件 SQL 分布式计算
日均万亿条数据如何处理?爱奇艺实时计算平台这样做
本文由爱奇艺大数据服务负责人梁建煌分享,介绍爱奇艺如何基于 Apache Flink 技术打造实时计算平台,并通过业务应用案例分享帮助用户了解 Apache Flink 的技术特点及应用场景。
日均万亿条数据如何处理?爱奇艺实时计算平台这样做
|
存储 人工智能 算法
|
存储 消息中间件 分布式计算
日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践
友信金服公司推行全域的数据体系战略,通过打通和整合集团各个业务线数据,利用大数据、人工智能等技术构建统一的数据资产,如 ID-Mapping、用户标签等。友信金服用户画像项目正是以此为背景成立,旨在实现“数据驱动业务与运营”的集团战略。目前该系统支持日处理数据量超 10 亿,接入上百种合规数据源。
日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践