天天看點

TDengine|taosdump 的使用方法和注意事項

小 T 導讀:使用者在做時序資料庫(Time Series Database,TSDB)的選型調研時,通常要進行環境模拟測試,以觀察所選資料庫的性能優劣和成本損耗情況。為友善使用者, TDengine 官方提供了一款名為 taosBenchmark 的測試工具,本文将會詳細講解其使用方式,供讀者參考。

taosBenchmark (曾用名 taosdemo ) 是一個用于測試 TDengine 産品性能的工具。taosBenchmark 可以測試 TDengine 的插入、查詢和訂閱等功能的性能,它可以模拟由大量裝置産生的大量資料,還可以靈活地控制資料庫、超級表、标簽列的數量和類型,資料列的數量和類型,子表的數量,每張子表的資料量,插入資料的時間間隔,taosBenchmark 的工作線程數量,是否以及如何插入亂序資料等。為了相容過往使用者的使用習慣,TDengine 安裝包提供 了 taosdemo 作為 taosBenchmark 的軟連結。

安裝

taosBenchmark 有兩種安裝方式:

安裝 TDengine 官方安裝包的同時會自動安裝 taosBenchmark,詳情請參考 TDengine 安裝(https://docs.taosdata.com/operation/pkg-install/)。

單獨編譯 taos-tools 并安裝,詳情請參考 taos-tools 倉庫(https://github.com/taosdata/taos-tools)。

運作

配置和運作方式

taosBenchmark 需要在作業系統的終端執行,該工具支援兩種配置方式:指令行參數和 JSON 配置檔案。但這兩種方式是互斥的,在使用配置檔案時隻能使用一個指令行參數 -f <json file> 指定配置檔案;在使用指令行參數運作 taosBenchmark 并控制其行為時則不能使用 -f 參數而要用其它參數來配置。除此之外,taosBenchmark 還提供了一種特殊的運作方式,即無參數運作。

taosBenchmark 支援對 TDengine 做完備的性能測試,其所支援的 TDengine 功能分為三大類:寫入、查詢和訂閱。這三種功能之間是互斥的,每次運作 taosBenchmark 隻能選擇其中之一。值得注意的是,所要測試的功能類型在使用指令行配置方式時是不可配置的,指令行配置方式隻能測試寫入性能。若要測試 TDengine 的查詢和訂閱性能,必須使用配置檔案的方式,通過配置檔案中的參數 filetype 指定所要測試的功能類型。

具體的指令行參數和 JSON 配置檔案,可移步至 https://docs.taosdata.com/reference/taosbenchmark/ 進行查閱。但需要注意的是,在運作 taosBenchmark 之前一定要確定 TDengine 叢集已經在正确運作。

無指令行參數運作

執行下列指令即可快速體驗 taosBenchmark 對 TDengine 進行基于預設配置的寫入性能測試。

taosBenchmark
           

在無參數運作時,taosBenchmark 預設連接配接 /etc/taos 下指定的 TDengine 叢集,并在 TDengine 中建立一個名為 test 的資料庫,test 資料庫下建立名為 meters 的一張超級表,超級表下建立 10000 張表,每張表中寫入 10000 條記錄。注意,如果已有 test 資料庫,這個指令會先删除該資料庫後建立一個全新的 test 資料庫。

使用指令行配置參數運作

在使用指令行參數運作 taosBenchmark 并控制其行為時,-f <json file> 參數不能使用。所有配置參數都必須通過指令行指定。以下是使用指令行方式測試 taosBenchmark 寫入性能的一個示例。

taosBenchmark -I stmt -n 200 -t 100
           

在上面的指令中, taosBenchmark 将建立一個名為test的資料庫,在其中建立一張超級表meters,在該超級表中建立 100 張子表并使用參數綁定的方式為每張子表插入 200 條記錄。

使用配置檔案運作

taosBenchmark 安裝包中提供了配置檔案的示例,位于<install_directory>/examples/taosbenchmark-json 下,使用如下指令行即可運作 taosBenchmark 并通過配置檔案控制其行為。

taosBenchmark -f <json file>