工具-mysqlslap
mysqlslap是mysql自帶的基準(zhǔn)測(cè)試工具,
查詢(xún)數(shù)據(jù),語(yǔ)法簡(jiǎn)單,靈活容易使用.該工具可以模擬多個(gè)客戶(hù)端同時(shí)并發(fā)的向服務(wù)器發(fā)出查詢(xún)更新,給出了性能測(cè)試數(shù)據(jù)而且提供了多種引擎的性能比較。
常用參數(shù)
--concurrency 并發(fā)數(shù)量,多個(gè)可以用逗號(hào)隔開(kāi) --engines 要測(cè)試的引擎,可以有多個(gè),用分隔符隔開(kāi),如--engines=myisam,innodb --iterations 要運(yùn)行這些測(cè)試多少次 --auto-generate-sql 用系統(tǒng)自己生成的SQL腳本來(lái)測(cè)試 --auto-generate-sql-load-type 要測(cè)試的是讀還是寫(xiě)還是兩者混合的(read,write,update,mixed) --number-of-queries 總共要運(yùn)行多少次查詢(xún)。每個(gè)客戶(hù)運(yùn)行的查詢(xún)數(shù)量可以用查詢(xún)總數(shù)/并發(fā)數(shù)來(lái)計(jì)算 --debug-info 額外輸出CPU以及內(nèi)存的相關(guān)信息 --number-int-cols 創(chuàng)建測(cè)試表的int型字段數(shù)量 --number-char-cols 創(chuàng)建測(cè)試表的chat型字段數(shù)量 --create-schema 測(cè)試的database --query 自己的SQL 腳本執(zhí)行測(cè)試 --only-print 如果只想打印看看SQL語(yǔ)句是什么,可以用這個(gè)選項(xiàng)
--post(/pre)-query=name 指定測(cè)試完成后(/前)執(zhí)行的含sql語(yǔ)句的字符串或.sql文件
--post(/pre)-system=name 指定測(cè)試完成后(/前)執(zhí)行的系統(tǒng)語(yǔ)句
--delimiter=";" 此參數(shù)指定的值作為sql語(yǔ)句中使用的分隔符
--debug-info 這個(gè)目前用不了。有如下報(bào)錯(cuò):
mysqlslap: [ERROR] mysqlslap: Option 'debug-info' was used, but is disabled.
使用
# 寫(xiě)sql file文件,notes:sql file里面的每一個(gè)sql語(yǔ)句必須是完整的一行。 mysqlslap -hxx -uroot -Pxx -pxx --create-schema db_name --query=./sql.txt --iterations=10 --concurrency=2 # 或者寫(xiě)具體的sql mysqlslap -hxx -uroot -Pxx -pxx --create-schema db_name --query="select * from customer limit 1" --iterations=10 --concurrency=2
缺點(diǎn)
1、指定并發(fā)度和執(zhí)行次數(shù),但是不能指定運(yùn)行時(shí)間
輸出
可以加上參數(shù) --csv=abc.csv
生成如下數(shù)據(jù):,mixed,0.731,0.709,0.759,2,50
不帶上這個(gè)參數(shù),輸出如下:
Average number of seconds to run all queries: 0.725 seconds Minimum number of seconds to run all queries: 0.708 seconds Maximum number of seconds to run all queries: 0.739 seconds Number of clients running queries: 2 Average number of queries per client: 50
posted on 2023-03-23 15:50 Y.Debby 閱讀(159) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)