去年 8 月我們在 TDengine 開發者大會上正式發布了 TDengine 3.0,TDengine 也由此升級成為了一款云原生時序資料庫(Time Series Database,TSDB),為了客觀、準確、有效地評估 TDengine 3.0 的性能指標,我們決定使用 TSBS(Time Series Benchmark Suite)作為基準性能測驗平臺,針對 DevOps 場景的資料集對 TDengine 3.0 展開整體(包括寫入、查詢、存盤、資源消耗等)性能評估,
TSBS 是一個時序資料處理(資料庫)系統的性能基準測驗平臺,提供了 IoT、DevOps 兩個典型應用場景,它由 Timescale 開源并負責維護,作為一個性能基準測驗平臺,TSBS 具有便捷、易用、擴展靈活等特點,涵蓋了時序資料的生成、寫入(加載)、多種類別的典型查詢等功能,并能夠自動匯總最終結果,由于其開放開源的特點,得到了眾多資料庫廠商的支持,作為專業的產品性能基準測驗平臺被若干資料庫廠商廣泛使用,
以下的性能基準報告均使用了 TSBS 作為基礎 Benchmark 平臺,我們從時間跨度和發布廠商的知名度同時來看,就能發現,基礎測驗平臺 TSBS 已經具備了很高的認可度:
- 2018 年 11 月,VictoriaMetrics 的創始人 Aliaksandr Valialkin 發布 《High-cardinality TSDB benchmarks: VictoriaMetrics vs TimescaleDB vs InfluxDB》,將 VictoriaMetrics 與 TimescaleDB、InfluxDB 進行性能對比,
- 2018 年 11 月,文章《ClickHouse Crushing Time Series》中對比了 TimescaleDB, InfluxDB, ClickHouse 在時序資料場景下的性能,
- 2020 年 3 月,Cloudera 在網站博客中發布《Benchmarking Time Series workloads on Apache Kudu using TSBS》,在 DevOps場景 中對比了 Apache Kudu, InfluxDB, VictoriaMetrics, ClickHouse 等整體性能表現,
- 2020 年 3 月, Redis 發布了基于 TSBS 的性能報告《RedisTimeSeries Version 1.2 Benchmarks》,
- 2020 年 8 月,Timescale 在其官方博客發布了性能對比報告《TimescaleDB vs. InfluxDB: Purpose Built Differently for Time-Series Data》,
- 2021 年 8 月,QuestDB 發布了 QuestDB 與 TimescaleDB 的性能對比報告——《QuestDB vs. TimescaleDB》,
DevOps 場景是一個典型的時序資料應用場景,TSBS DevOps 場景提供了 CPU 狀態的模擬資料,針對每個設備(CPU)記錄其 10 個測量值(metric),1 個時間戳(納秒解析度),10 個標簽值(tag),生成的資料每 10 秒間隔一條記錄,具體的內容和示例資料如下:

TSBS 測驗可以簡單劃分為兩個主要部分——資料寫入和資料查詢,在本次整個基準性能評估中,共涉及以下五個場景,每個場景的具體資料規模和特點見下表:

通過上表可以看到,五個場景的區別主要在于資料集所包含的設備記錄數量、設備數的不同,資料時間間隔均維持在 10 sec,整體來看,五個場景的資料規模都不算大,資料規模最大的是場景五,資料達到了 1.8 億,資料規模最小的是場景一,只有 2678 萬條記錄,在場景四和場景五中,由于設備數量相對較多,所以資料集僅覆寫了 3 分鐘的時間跨度,
為了保證測驗結果的公正可靠及可復制性,我們選用了公共 IaaS 平臺來搭建 Benchmark 基礎硬體環境,采用了大多數性能對比報告中使用的場景——亞馬遜 EC2 服務環境下 r4.8xlarge 型別的實體作為基礎運行平臺,區域為北美地區,包括 1 臺服務器、1 臺客戶端,客戶端與服務器硬體配置完全相同,兩者使用 10 Gbps 網路連接,配置簡表如下:

本次測驗的對比軟體為 InfluxDB1.8.10 及 Timescale 2.6.0,在這里要著重說明一下,由于 InfluxDB 最新的 2.0 版本并沒有納入 TSBS 的主干分支,因此在這次測驗中我們暫且使用了 TSBS 主干分支所支持的 InfluxDB 最新版本,即 1.8.10,
整個 TSBS 測驗流程相對比較簡單,在進行寫入性能對比時,配置完成引數后直接運行 TSBS 框架腳本,等待結果輸出即可,對于查詢處理,我們選擇了批量自動化去運行,對每個查詢陳述句運行 5000 次,統計查詢延遲的算數平均作為最后的查詢延遲結果,此外我們還全程監控并記錄了整個程序中服務器與客戶端節點的系統資源開銷與負載情況,
下面可以簡單為大家介紹下本次測驗結果,如下表所示,在全部五個場景中,TDengine 寫入性能均優于 InfluxDB 和 TimescaleDB,寫入程序中資源占用最低,對比 InfluxDB,TDengine 寫入最優的場景是在 1000 萬設備下,達到了 InfluxDB 的 10.6 倍;對比 TimescaleDB ,TDengine 寫入最優的場景是在 4000 個設備下,達到了 TimeScaleDB 的 6.7 倍,

在查詢測驗上,我們將其分為 5 大類、15 小類進行查詢對比,從下圖結果匯總中可以看到,在全部 15 個查詢型別中,TDengine 的性能均優于 InfluxDB 和 TimescaleDB,并且它的所有查詢延遲均比 InfluxDB 和 TimescaleDB 更低,亮點資料之一體現在 Double Rollups 查詢型別對比中,TDengine 最大達到 InfluxDB 的 34 倍,TimescaleDB 的 24 倍,

以上就是 TDengine 基于 TSBS 測驗報告的測驗背景介紹,如果你對測驗結果感興趣,歡迎點擊進入官網查閱整體報告,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/545509.html
標籤:其他
上一篇:Linux安裝Mysql
下一篇:[20230228]產生大量日志分析(生產系統日志分析).txt