无码人妻精品一区二区三18禁,影音先锋男人AV橹橹色,污污污污污污www网站免费,日韩成人av无码一区二区三区,欧美性受xxxx狂喷水

時序數據庫性能對比 TimescaleDB vs. TDengine 背景介紹

時序數據庫性能對比 TimescaleDB vs. TDengine 背景介紹

基于 TSBS 標準數據集,TDengine Database 團隊對時序數據庫Time Series DatabaseTSDB) TimescaleDB 和 TDengine 針對 TSBS 指(zhi)定(ding)的 DevOps 中 cpu-only 五個場景(jing)進行了(le)對比測試。

本測試報告中的數據(ju)在準備好物理環境后,可以由腳本一(yi)鍵(jian)執行(xing)生成。

點擊這里,查看 TSBS 性能(neng)基準(zhun)對比框(kuang)架簡介。

1 軟件版本和配置

本報(bao)告僅僅比(bi)較 TDengine 與 TimescaleDB,下面對使用(yong)的版(ban)本和配置做出說(shuo)明(ming)。

1.1 TDengine

我們直接采用 TDengine Ver3.0,從 GitHub 克隆 TDengine 代碼編譯版本作為性能對(dui)比的版本。

gitinfo: c90e2aa791ceb62542f6ecffe7bd715165f181e8

在服務器上編譯安(an)裝運行。

cmake .. -DDISABLE_ASSERT=true -DSIMD_SUPPORT=true -DCMAKE_BUILD_TYPE=Release  -DBUILD_TOOLS=false
make -j  && make install

在(zai) TDengine 的(de)配(pei)(pei)置文件中設(she)置了四個涉及(ji)查詢(xun)的(de)配(pei)(pei)置參數。

numOfVnodeFetchThreads           4
queryRspPolicy                   1
compressMsgSize             128000
SIMD-builtins                    1

第一個(ge)參(can)數 numOfVnodeFetchThreads 設置(zhi) Vnode 的Fetch 線程數量為 4 個(ge), 第二個(ge)參(can)數 queryRspPolicy 打開  query response 快速返回機制, 第三(san)個(ge)參(can)數 compressMsgSize 讓TDengine 在傳(chuan)輸層上(shang)大于 128,000 bytes的消息(xi)自動進行壓縮,第四(si)個(ge)參(can)數是如果(guo) CPU 支持,啟用內置(zhi)的 FMA/AVX/AVX2 硬件加速。

如上所(suo)述,TDengine 建庫默認創建 6 個 vnodes,即(ji)創建的(de)表會按照(zhao)表名隨機分(fen)配到 6 個 虛擬(ni)節(jie)點(virtual node, VNode) 中(zhong)(zhong)。打(da)開 LRU 緩存,設置為 last_row 緩存模式。對(dui)于場(chang)景(jing)一和場(chang)景(jing)二,stt_trigger 設置為 1,此(ci)時 TDengine 會準備一個 Sorted Time-series Table (STT) 文件,用(yong)于容納單(dan)表寫(xie)入量小于 minimum rows 的(de)時候,數據直接保(bao)存在 STT 文件中(zhong)(zhong),當 STT 文件中(zhong)(zhong)無法容納新數據的(de)時候,會將 STT 中(zhong)(zhong)的(de)數據整理(li),再寫(xie)入到數據文件中(zhong)(zhong)。對(dui)于其(qi)他(ta)的(de)場(chang)景(jing)(場(chang)景(jing)三、四、五),stt_trigger 設置為 8,即(ji)允許最多生(sheng)成 8 個 STT 文件。針對(dui)表較多的(de)場(chang)景(jing),需(xu)要適度增(zeng)加 STT 的(de)值,以此(ci)來獲得更好(hao)的(de)寫(xie)入性能。

1.2 TimescaleDB

為(wei)確保(bao)結果(guo)具有可比性,我們(men)選用 TimescaleDB 版本 。為(wei)獲得較(jiao)好的(de)性能,TimescaleDB 需要針對(dui)不(bu)(bu)同的(de)場景設置不(bu)(bu)同的(de) Chunk 參數,不(bu)(bu)同場景下參數的(de)設置如(ru)下表所(suo)示。

表 2. 不同場景下 TimescaleDB 的 chunk 配置
場景一 場景二 場景三 場景四 場景五
設(she)備數(shu)目(mu) 100 4000 100,000 1,000,000 10,000,000
Chunk 數目 12 12 12 12 12
Chunk 持(chi)續(xu)時間 2.58 天 8 小(xiao)時 15 分 15 秒 15 秒(miao)
Chunk 內記錄數 2,232,000 11,520,000 9,000,000 1,500,000 15,000,000

上述參數的設置,充分參考了對比報告[7]中推(tui)薦(jian)的配置參數設置,以確保能夠最(zui)大化(hua)寫入性能指標。

2. 測試步驟

2.1 硬件準備

為與對比報告[7]的(de)環(huan)境高(gao)度(du)接近,我們使(shi)用亞馬遜 AWS 的(de) EC2 提供的(de) r4.8xlarge 類型實例作為基礎運行平臺,包(bao)括 1 臺服務器、1 臺客(ke)戶端(duan)共兩個節(jie)點構成(cheng)的(de)環(huan)境。客(ke)戶端(duan)與(yu)服務器硬件配置(zhi)完(wan)全相同,客(ke)戶端(duan)與(yu)服務器使(shi)用 10 Gbps 網絡連接。配置(zhi)簡表如下:

表 3. 物理節點配置
CPU Memory Disk
服務器(qi) Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz 32vCPU 244GiB 800G SSD,3000 IOPS. 吞(tun)吐量(liang)上限是 125 MiB/Sec
客戶端(duan) Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz 32vCPU 244GiB 800G SSD,3000 IOPS. 吞吐量(liang)上限(xian)是 125 MiB/Sec

2.2 服務器環境準備

為(wei)運(yun)行測試腳本(ben),服務器OS需要是ubuntu20以上的系(xi)統。AWS EC2的服務器系(xi)統信息如下:

  1. OS: Linux tv5931 5.15.0-1028-aws #32~20.04.1-Ubuntu SMP Mon Jan 9 18:02:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  2. Gcc:gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)
  3. 基礎環境,版本信息為:Go1.16.9 , python3.8 , pip20.0.2 (無需手動安裝,測試腳本將自動安裝) 
  4. 編譯依賴:gcc , cmake, build-essential, git, libssl-dev (無需手動安裝,測試腳本將自動安裝)

但請做兩個配置:

  1. client和 server配置ssh 訪問免密,以便腳本可不暴露密碼,可參考文檔:。
  2. 保證client 和 server 之間所有端口開放。

2.3 獲取測試腳本

為便于重(zhong)復(fu)測試(shi),隱藏繁瑣的下載、安(an)裝(zhuang)、配(pei)置、啟動、匯(hui)總結(jie)果等(deng)細節,整個 TSBS 的測試(shi)過(guo)程被封裝(zhuang)成一個測試(shi)腳本(ben)。重(zhong)復(fu)本(ben)測試(shi)報告,需要先下載該測試(shi)腳本(ben),腳本(ben)暫支持 ubuntu20 以上的系(xi)統。以下操作要求具有(you) root 權限。

1. 在客(ke)戶端(duan)機器,進入(ru)測(ce)試目(mu)錄拉取代碼,默認進入(ru) /usr/local/src/ 目(mu)錄,

cd /usr/local/src/ && apt install git && git clone //github.com/taosdata/tsbs.git && cd tsbs/scripts/tsdbComp 

2. 修改配(pei)置(zhi)文件 test.ini 中服(fu)務(wu)端(duan)(duan)和客(ke)戶端(duan)(duan)的 IP 地址(zhi)(這(zhe)里配(pei)置(zhi) AWS 的私網地址(zhi)即可)和 hostname,如果服(fu)務(wu)器未配(pei)置(zhi)免密,還需要配(pei)置(zhi)服(fu)務(wu)器端(duan)(duan)的 root 密碼。

clientIP="192.168.0.203"   #client ip
clientHost="trd03"         #client hostname
serverIP="192.168.0.204"   #server ip
serverHost="trd04"         #server hostname
serverPass="taosdata123"   #server root password

2.4 一鍵執行對比測試

執行以下命令:

nohup bash tsdbComparison.sh > test.log &

測(ce)試(shi)腳本將(jiang)自(zi)(zi)動安裝 TDengine, InfluxDB, TimescaleDB 等軟件(jian),并自(zi)(zi)動運行各種對(dui)比(bi)測(ce)試(shi)項(xiang)。在目前的(de)硬件(jian)配置下,整個測(ce)試(shi)跑完需要大約一(yi)天半的(de)時間(jian)。測(ce)試(shi)結束后(hou),將(jiang)自(zi)(zi)動生(sheng)成 CSV 格式的(de)對(dui)比(bi)測(ce)試(shi)報告,并存(cun)放在客戶端的(de) /data2 目錄。

3 性能對比測試具體結果與分析