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

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

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

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

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

點擊這里,查看 TSBS 性能基準對比框架簡介。

1. 軟件版本和配置

本報告僅僅比較 TDengine 與 InfluxDB,下面對使用的版本和配置做出說明。

1.1 TDengine

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

gitinfo: c90e2aa791ceb62542f6ecffe7bd715165f181e8

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

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

在 TDengine 的配置文件中設置了四個涉及查詢的配置參數。

numOfVnodeFetchThreads           4
queryRspPolicy                   1
compressMsgSize             128000
SIMD-builtins                    1

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

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

1.2 InfluxDB

我們選擇 InfluxDB 。這里沒有使用 InfluxDB 最新的 2.x 版本是因為 TSBS 沒有對其進行適配,所以選用了能夠運行 TSBS 框架的 InfluxDB 最新版本。

我們采用對比報告[7]中推薦的方式配置 InfluxDB,將緩沖區配置為 80G,以便 1000w 設備寫入時能夠順利進行,同時開啟 Time Series Index(TSI)。

配置系統在系統插入數據完成 30s 后開始數據壓縮。

2. 測試步驟

2.1 硬件準備

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

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

2.2 服務器環境準備

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

  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 獲取測試腳本

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

1. 在客戶端機器,進入測試目錄拉取代碼,默認進入 /usr/local/src/ 目錄,

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

2. 修改配置文件 test.ini 中服務端和客戶端的 IP 地址(這里配置 AWS 的私網地址即可)和 hostname,如果服務器未配置免密,還需要配置服務器端的 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 &

測試腳本將自動安裝 TDengine, InfluxDB, TimeScaleDB 等軟件,并自動運行各種對比測試項。在目前的硬件配置下,整個測試跑完需要大約一天半的時間。測試結束后,將自動生成 CSV 格式的對比測試報告,并存放在客戶端的 /data2 目錄。

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