小 T 導讀:用戶在做時序數據庫(Time Series Database,TSDB)的(de)選型(xing)調研(yan)時,通常要(yao)進行環(huan)境模擬測試,以觀察所選數據庫的(de)性能優劣和(he)成本(ben)損耗情(qing)況。為方便用戶,TDengine 官(guan)方提供了一(yi)款名(ming)為 taosBenchmark 的(de)測試工具,本(ben)文將會詳細講解其使用方式,供讀者參考。
taosBenchmark (曾用(yong)名 taosdemo ) 是一個用(yong)于測試 TDengine 產品(pin)性(xing)能(neng)的(de)(de)工具(ju)。taosBenchmark 可以測試 TDengine 的(de)(de)插入(ru)、查詢和訂閱等功能(neng)的(de)(de)性(xing)能(neng),它可以模擬由大量(liang)(liang)(liang)設備產生的(de)(de)大量(liang)(liang)(liang)數(shu)據(ju)(ju),還可以靈活地控(kong)制(zhi)數(shu)據(ju)(ju)庫、超級表(biao)(biao)(biao)、標簽列(lie)的(de)(de)數(shu)量(liang)(liang)(liang)和類(lei)型,數(shu)據(ju)(ju)列(lie)的(de)(de)數(shu)量(liang)(liang)(liang)和類(lei)型,子表(biao)(biao)(biao)的(de)(de)數(shu)量(liang)(liang)(liang),每張子表(biao)(biao)(biao)的(de)(de)數(shu)據(ju)(ju)量(liang)(liang)(liang),插入(ru)數(shu)據(ju)(ju)的(de)(de)時(shi)間間隔(ge),taosBenchmark 的(de)(de)工作(zuo)線(xian)程數(shu)量(liang)(liang)(liang),是否以及如(ru)何插入(ru)亂(luan)序數(shu)據(ju)(ju)等。為了(le)兼容過往用(yong)戶的(de)(de)使用(yong)習慣,TDengine 安裝包(bao)提供(gong) 了(le) taosdemo 作(zuo)為 taosBenchmark 的(de)(de)軟鏈接。
安裝
taosBenchmark 有兩種安裝方(fang)式(shi):
- 安裝 TDengine 官方安裝包的同時會自動安裝 taosBenchmark,詳情請參考 TDengine 安裝()。
- 單獨編譯 taos-tools 并安裝,詳情請參考 taos-tools 倉庫()。
運行
配置和運行方式
taosBenchmark 需要在操作系統的終端執行,該工具支持兩種配置方式:命令行參數和 JSON 配置文件。但這兩種方式是互斥的,在使用配置文件時只能使用一個命令行參數 -f <json file> 指定配置文件;在使用命令行參數運行 taosBenchmark 并控制其行為時則不能使用 -f 參數(shu)而要(yao)用(yong)其它參數(shu)來配置。除(chu)此之外,taosBenchmark 還提供(gong)了一(yi)種特殊的運(yun)行方(fang)式,即無參數(shu)運(yun)行。
taosBenchmark 支持對 TDengine 做完備的性能測試,其所支持的 TDengine 功能分為三大類:寫入、查詢和訂閱。這三種功能之間是互斥的,每次運行 taosBenchmark 只能選擇其中之一。值得注意的是,所要測試的功能類型在使用命令行配置方式時是不可配置的,命令行配置方式只能測試寫入性能。若要測試 TDengine 的查詢和訂閱性能,必須使用配置文件的方式,通過配置文件中的參數 filetype 指定(ding)所要測試的功能類(lei)型。
具體的命令行參數和 JSON 配置文件,可移步至 進行查閱。但需要注意的是,在運行 taosBenchmark 之前一定要確保 TDengine 集群已經在正確運行。
無命令行參數運行
執行下列命令即可快速體(ti)驗 taosBenchmark 對(dui) TDengine 進行基于默認配置的寫入(ru)性(xing)能測試。
taosBenchmark
在無參數運行時,taosBenchmark 默認連接 /etc/taos 下(xia)指(zhi)定的 TDengine 集群,并在 TDengine 中創(chuang)建(jian)一個(ge)(ge)名為 test 的數(shu)(shu)據庫(ku)(ku),test 數(shu)(shu)據庫(ku)(ku)下(xia)創(chuang)建(jian)名為 meters 的一張(zhang)超(chao)級表,超(chao)級表下(xia)創(chuang)建(jian) 10000 張(zhang)表,每張(zhang)表中寫(xie)入(ru) 10000 條記錄。注意,如果已有 test 數(shu)(shu)據庫(ku)(ku),這個(ge)(ge)命令會先刪除該數(shu)(shu)據庫(ku)(ku)后建(jian)立一個(ge)(ge)全(quan)新的 test 數(shu)(shu)據庫(ku)(ku)。
使用命令行配置參數運行
在使用命令行參數運行 taosBenchmark 并控制其行為時,-f <json file> 參(can)數(shu)不能使用(yong)。所有配置參(can)數(shu)都必(bi)須(xu)通過(guo)命(ming)令行(xing)(xing)指定。以(yi)下是(shi)使用(yong)命(ming)令行(xing)(xing)方式測試 taosBenchmark 寫入(ru)性(xing)能的一個示例。
taosBenchmark -I stmt -n 200 -t 100
在上面的命令中, taosBenchmark 將創建一個名為test的數據庫,在其中建立一張超級表meters,在(zai)該超級表中建立 100 張子表并使用參數綁定的方式為每張子表插入 200 條記錄(lu)。
使用配置文件運行
taosBenchmark 安裝包中提供了配置文件的示例,位于<install_directory>/examples/taosbenchmark-json 下,使用如下命令行(xing)即可運行(xing) taosBenchmark 并通過配置文件(jian)控(kong)制其行(xing)為(wei)。
taosBenchmark -f <json file>
更多配(pei)置相關內容,參考(kao) 。如(ru)在實(shi)踐中遇到更多實(shi)際問題,聯系小(xiao) T 進入指定的(de) TDengine 官方用(yong)戶群,專業的(de)社區技(ji)術人員會幫(bang)助你(ni)答疑解惑,理(li)順(shun)思路。



























