博客 / 詳情

返回

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,預付資源包成本為:16184.60.7+31024*0.12=2400 元,輕鬆節省40%+成本!

(*説明:184.6為企業本每CCU預付單價每月,實際CPU使用在min(8)和max(16)之間波動,0.7為一般客户彈性係數;0.12為對象存儲企業版每GB預付單價每月) 

希望本次測試結果能為有需要的夥伴們提供有價值的信息。如果您有任何關於性能或功能方面的問題,歡迎隨時聯繫我們。



user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.