基于 TSBS 標(biāo)準(zhǔn)數(shù)據(jù)集,TDengine Database 團(tuán)隊(duì)對(duì)時(shí)序數(shù)據(jù)庫(kù)(Time Series Database,TSDB) InfluxDB 和 TDengine 針對(duì) TSBS 指定的 DevOps 中 cpu-only 五個(gè)場(chǎng)景進(jìn)行了寫入性能的對(duì)比測(cè)試。
點(diǎn)擊這里,查看相關(guān)背景介紹及軟件配置。
在 TSBS 全部的 cpu-only 五個(gè)場(chǎng)景中,TDengine 寫入性能均優(yōu)于 InfluxDB。相對(duì)于 InfluxDB,TDengine 寫入速度最領(lǐng)先的場(chǎng)景是其 10.6 倍(場(chǎng)景五),最少也是 3.0 倍(場(chǎng)景一)。此外,TDengine 在寫入過(guò)程中消耗了最少 CPU 資源和磁盤 IO 開銷。
1 不同場(chǎng)景下寫入性能對(duì)比
試報(bào)告表格-0220-1024x682.jpg)
可以看到在全部五個(gè)場(chǎng)景中,TDengine 的寫入性能全面超越 InfluxDB。TDengine 在場(chǎng)景五中寫入性能是 InfluxDB 的 10.63 倍,在差距最小的場(chǎng)景一中也有 3.01 倍。
2 寫入過(guò)程資源消耗對(duì)比
數(shù)據(jù)寫入速度并不能夠全面的反映 TDengine 和 InfluxDB 在不同場(chǎng)景下數(shù)據(jù)寫入的整體表現(xiàn)。為此我們以 1,000,000 devices × 10 metrics (場(chǎng)景四)為例,檢查數(shù)據(jù)寫入過(guò)程中的服務(wù)器和客戶端(包括客戶端與服務(wù)器)的整體負(fù)載狀況,并以此來(lái)對(duì)比 TDengine 和 InfluxDB 在寫入過(guò)程中服務(wù)器/客戶端節(jié)點(diǎn)的資源占用情況,這里的資源占用主要包括服務(wù)器端的 CPU 開銷/磁盤 IO 開銷和客戶端 CPU 開銷。
2.1 服務(wù)端 CPU 開銷
圖 2 展示了在場(chǎng)景四寫入過(guò)程之中服務(wù)器端 CPU 負(fù)載狀況。可以看到,TDengine 和 InfluxDB 在返回給客戶端寫入完成消息以后,都還繼續(xù)使用服務(wù)器的資源進(jìn)行相應(yīng)的處理工作,InfluxDB 使用了相當(dāng)多的 CPU 資源,瞬時(shí)峰值使用了全部的 CPU 資源,其寫入負(fù)載較高,并且其持續(xù)時(shí)間遠(yuǎn)長(zhǎng)于 TDengine。兩個(gè)系統(tǒng)對(duì)比,TDengine 對(duì)服務(wù)器的 CPU 需求最小,峰值也僅使用了 17% 左右的服務(wù)器 CPU 資源。由此可見,TDengine 獨(dú)特的數(shù)據(jù)模型對(duì)于時(shí)序數(shù)據(jù)寫入不僅在性能上,在整體的資源開銷上也具有非常大的優(yōu)勢(shì)。
器CPU利用率-1024x682.jpg)
2.2 磁盤 I/O 對(duì)比
圖 3 展示了 1,000,000 devices × 10 metrics (場(chǎng)景四)數(shù)據(jù)寫入過(guò)程中服務(wù)器端磁盤寫入狀態(tài)??梢钥吹?,結(jié)合著服務(wù)器端 CPU 開銷表現(xiàn),其 IO 動(dòng)作與 CPU 呈現(xiàn)同步的活躍狀態(tài)。
寫入相同規(guī)模的數(shù)據(jù)集,TDengine 在寫入過(guò)程中對(duì)于磁盤寫入能力的占用遠(yuǎn)小于 InfluxDB,寫入過(guò)程只占用了部分磁盤寫入能力(125MiB/Sec. 3000IOPS)。從圖上能看到,數(shù)據(jù)寫入過(guò)程中磁盤的 IO 瓶頸是確實(shí)存在的。InfluxDB 長(zhǎng)時(shí)間消耗完全部的磁盤寫入能力,遠(yuǎn)超過(guò)了 TDengine 對(duì)磁盤寫入能力的需求。

2.3 客戶端 CPU 開銷

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



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



-1.png)




.png)


證.png)


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



