iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Software Development

TiDB學習筆記系列 第 27

D27 - 壓測工具go-ycsb

官網對於性能測試的描述,分別提供了sysbench以及TPC-C的測試數據。在v5.2的改版後,也對新舊版TiDB的效能做了比較。而PingCap本身也開發了go-ycsb這套測試工具。ycsb是一套由yahoo推出以java語言開發的open source測試軟體。而go-ycsb則如其名,用go語言重構了這套測試軟體。

https://github.com/brianfrankcooper/YCSB
https://github.com/pingcap/go-ycsb

ycsb本身依據不同的使用情境提供了六種workload腳本,其內容大致上為:
workloada: 讀寫各佔一半比例。
workloadb: 95%的讀,5%的寫。
workloadc: read only。
workloadd: 讀佔95%,寫佔5%,讀取最近的更新,時間越接近讀取機率越高。
workloade: Scan佔95%,寫入站5%,小範圍的讀取。
workloadf: 對資料執行讀取、修改、寫回。

依據每種不同的database帶入特定的參數,以tikv為例必填的參數有
https://ithelp.ithome.com.tw/upload/images/20210923/20113220YemSRivJ3r.png

引用https://github.com/pingcap/go-ycsb#tikv

此外還有共用的參數,例如
threads: 用戶的thread數量,預設為1。
target: 預計要達到的每秒ops。
recordcount: 預定要操作的資料筆數。
operationcount: 預定執行的操作數量。
threadcount: 意思與threads相同。

了解了go-ycsb使用方式之後,接下來就開始做實際的壓測。


上一篇
D26 - 與MySQL相異的部分
下一篇
D28 - 壓測
系列文
TiDB學習筆記30

尚未有邦友留言

立即登入留言