基于 TSBS 標準數(shù)據(jù)集,TDengine Database 團隊對時序數(shù)據(jù)庫(Time Series Database,TSDB) InfluxDB 和 TDengine 針對 TSBS 指定的 DevOps 中 cpu-only 五個場景進行了寫入性能的對比測試。
點擊這里,查看相關(guān)背景介紹及軟件配置。
在 TSBS 全部的 cpu-only 五個場景中,TDengine 寫入性能均優(yōu)于 InfluxDB。相對于 InfluxDB,TDengine 寫入速度最領(lǐng)先的場景是其 10.6 倍(場景五),最少也是 3.0 倍(場景一)。此外,TDengine 在寫入過程中消耗了最少 CPU 資源和磁盤 IO 開銷。
1 不同場景下寫入性能對比

可以看到在全部五個場景中,TDengine 的寫入性能全面超越 InfluxDB。TDengine 在場景五中寫入性能是 InfluxDB 的 10.63 倍,在差距最小的場景一中也有 3.01 倍。
2 寫入過程資源消耗對比
數(shù)據(jù)寫入速度并不能夠全面的反映 TDengine 和 InfluxDB 在不同場景下數(shù)據(jù)寫入的整體表現(xiàn)。為此我們以 1,000,000 devices × 10 metrics (場景四)為例,檢查數(shù)據(jù)寫入過程中的服務(wù)器和客戶端(包括客戶端與服務(wù)器)的整體負載狀況,并以此來對比 TDengine 和 InfluxDB 在寫入過程中服務(wù)器/客戶端節(jié)點的資源占用情況,這里的資源占用主要包括服務(wù)器端的 CPU 開銷/磁盤 IO 開銷和客戶端 CPU 開銷。
2.1 服務(wù)端 CPU 開銷
圖 2 展示了在場景四寫入過程之中服務(wù)器端 CPU 負載狀況。可以看到,TDengine 和 InfluxDB 在返回給客戶端寫入完成消息以后,都還繼續(xù)使用服務(wù)器的資源進行相應(yīng)的處理工作,InfluxDB 使用了相當多的 CPU 資源,瞬時峰值使用了全部的 CPU 資源,其寫入負載較高,并且其持續(xù)時間遠長于 TDengine。兩個系統(tǒng)對比,TDengine 對服務(wù)器的 CPU 需求最小,峰值也僅使用了 17% 左右的服務(wù)器 CPU 資源。由此可見,TDengine 獨特的數(shù)據(jù)模型對于時序數(shù)據(jù)寫入不僅在性能上,在整體的資源開銷上也具有非常大的優(yōu)勢。
器CPU利用率-1024x682.jpg)
2.2 磁盤 I/O 對比
圖 3 展示了 1,000,000 devices × 10 metrics (場景四)數(shù)據(jù)寫入過程中服務(wù)器端磁盤寫入狀態(tài)??梢钥吹剑Y(jié)合著服務(wù)器端 CPU 開銷表現(xiàn),其 IO 動作與 CPU 呈現(xiàn)同步的活躍狀態(tài)。
寫入相同規(guī)模的數(shù)據(jù)集,TDengine 在寫入過程中對于磁盤寫入能力的占用遠小于 InfluxDB,寫入過程只占用了部分磁盤寫入能力(125MiB/Sec. 3000IOPS)。從圖上能看到,數(shù)據(jù)寫入過程中磁盤的 IO 瓶頸是確實存在的。InfluxDB 長時間消耗完全部的磁盤寫入能力,遠超過了 TDengine 對磁盤寫入能力的需求。

2.3 客戶端 CPU 開銷

從圖 5 可以看到,客戶端上 TDengine 對 CPU 的需求大于 InfluxDB, InfluxDB 在整個寫入過程中,客戶端負載整體上來說,計算資源占用較低,對客戶端壓力小,其寫入的壓力基本上完全集中在服務(wù)端。這種模式很容易導致服務(wù)端成為瓶頸。TDengine 在客戶端的開銷最大,峰值瞬間達到了 56%,然后快速回落。綜合服務(wù)器與客戶端的資源開銷來看,TDengine 寫入持續(xù)時間更短,在系統(tǒng)整體 CPU 開銷上 TDengine 仍然具有相當大的優(yōu)勢。
3 總結(jié)
在全部的場景中,寫入性能超過 InfluxDB。在整個寫入過程中,TDengine 在提供了更高的寫入能力的前提下,不論是服務(wù)器的CPU 還是 IO,TDengine 均遠優(yōu)于 InfluxDB。對于服務(wù)器的磁盤IO開銷遠小于 InfluxDB。即使加上客戶端的開銷統(tǒng)計,TDengine 在寫入開銷上遠優(yōu)于 InfluxDB。
>> InfluxDB vs. TDengine 其他性能對比測試具體結(jié)果與分析



互聯(lián)網(wǎng).png)



-1.png)










伙伴.png)
伙伴.png)
伙伴.png)



