mysqlslap - Load emulation client

mysqlslap 是 MariaDB 自帶的壓力測試工具。


使用方式可調閱命令。

mysqlslap --help


簡單的說如果資料庫不在本機,調用命令時可帶入 -h, –host=name 指定資料庫位置。


如果資料庫使用的不是預設埠號,可帶入 -P, –port=# 指定埠號。


參數 -i, –iterations=# 可指定運行的次數。


參數 -c, –concurrency=name 指定連結資料庫的 Client 數,也就是所謂的並行數。


參數 -a, –auto-generate-sql 指定自動產生測試的指令。


以一個簡單的測試來說,我們會指定運行的次數、並行 Client 數、與自動產生測試的指令。

mysqlslap -c $concurrent -i $number -a


如果要運行不同的測試次數,可用逗號隔空。


參數 -T, –debug-info 可指定印出一些更為細部的資訊。

mysqlslap -c $concurrent -i $number -a -T


參數 -e, –engine=name 可指定測試的資料庫引擎。


可用來指定測試 myisam 或是 innodb。

mysqlslap -c $concurrent -i $number -a -e $engine


參數 -F, –delimiter=name 可指定 SQL 語法的 Delimiter。


參數 –create-schema=name 可指定測試會用到的 Schema。


參數 -q, –query=name 可指定測試會運行的查詢。


所以如果不想用自動產生的方式去做測試,可以明確的指定測試的 Schema 與查詢語句。

mysqlslap -c $concurrent -i $number -a --delimiter=$delimiter --create=$createsql --query=$querysql


參數 –only-print 可指定只顯示要執行的動作。


如果不想實際運行測試,只是想確認運行會做的動作,可指定只顯示要執行的動作。

mysqlslap -c $concurrent -i $number -a --only-print