《MYSQL教程Mysqlslap MySQL壓力測(cè)試工具 簡(jiǎn)單教程》要點(diǎn):
本文介紹了MYSQL教程Mysqlslap MySQL壓力測(cè)試工具 簡(jiǎn)單教程,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL實(shí)例MySQL從5.1.4版開始帶有一個(gè)壓力測(cè)試工具mysqlslap,通過(guò)模擬多個(gè)并發(fā)客戶端拜訪mysql來(lái)執(zhí)行測(cè)試,使用起來(lái)非常的簡(jiǎn)單.通過(guò)mysqlslap Chelp可以獲得可用的選項(xiàng),這里列一些主要的參數(shù),更詳細(xì)的說(shuō)明參考官方手冊(cè).
代碼如下:
Cauto-generate-sql, -a
自動(dòng)生成測(cè)試表和數(shù)據(jù)
Cauto-generate-sql-load-type=type
測(cè)試語(yǔ)句的類型.取值包括:read,key,write,update和mixed(默認(rèn)).
Cnumber-char-cols=N, -x N
自動(dòng)生成的測(cè)試表中包括多少個(gè)字符類型的列,默認(rèn)1
Cnumber-int-cols=N, -y N
自動(dòng)生成的測(cè)試表中包括多少個(gè)數(shù)字類型的列,默認(rèn)1
Cnumber-of-queries=N
總的測(cè)試查詢次數(shù)(并發(fā)客戶數(shù)×每客戶查詢次數(shù))
Cquery=name,-q
使用自定義腳本執(zhí)行測(cè)試,例如可以調(diào)用自定義的一個(gè)存儲(chǔ)過(guò)程或者sql語(yǔ)句來(lái)執(zhí)行測(cè)試.
Ccreate-schema
測(cè)試的schema,MySQL中schema也就是database
Ccommint=N
多少條DML后提交一次
Ccompress, -C
如果服務(wù)器和客戶端支持都?jí)嚎s,則壓縮信息傳遞
Cconcurrency=N, -c N
并發(fā)量,也就是模擬多少個(gè)客戶端同時(shí)執(zhí)行select.可指定多個(gè)值,以逗號(hào)或者Cdelimiter參數(shù)指定的值做為分隔符
Cengine=engine_name, -e engine_name
創(chuàng)建測(cè)試表所使用的存儲(chǔ)引擎,可指定多個(gè)
Citerations=N, -i N
測(cè)試執(zhí)行的迭代次數(shù)
Cdetach=N
執(zhí)行N條語(yǔ)句后斷開重連
Cdebug-info, -T
打印內(nèi)存和CPU的信息
Conly-print
只打印測(cè)試語(yǔ)句而不實(shí)際執(zhí)行
它的使用語(yǔ)法如下:
shell>/usr/local/mysql/bin/mysqlslap [options]
常用參數(shù)【options】詳細(xì)介紹:
--concurrency代表并發(fā)數(shù)量,多個(gè)可以用逗號(hào)隔開.例如:--concurrency=50,200,500
--engines代表要測(cè)試的引擎,可以有多個(gè),用分隔符隔開.例如:--engines=myisam,innodb,memory
--iterations代表要在不同并發(fā)環(huán)境下,各自運(yùn)行測(cè)試多少次.
--auto-generate-sql 代表用mysqlslap工具自己生成的SQL腳本來(lái)測(cè)試并發(fā)壓力.
--auto-generate-sql-add-auto-increment 代表對(duì)生成的表自動(dòng)添加auto_increment列,從5.1.18版本開始,
--auto-generate-sql-load-type 代表要測(cè)試的環(huán)境是讀操作還是寫操作還是兩者混合的(read,write,update,mixed)
--number-of-queries 代表總共要運(yùn)行多少條查詢.
--debug-info 代表要額外輸出CPU以及內(nèi)存的相關(guān)信息.
--number-int-cols 代表示例表中的INTEGER類型的屬性有幾個(gè).
--number-char-cols代表示例表中的vachar類型的屬性有幾個(gè).
--create-schema 代表自定義的測(cè)試庫(kù)名稱.
--query 代表自定義的測(cè)試SQL腳本.
說(shuō)明:
測(cè)試的過(guò)程需要生成測(cè)試表,插入測(cè)試數(shù)據(jù),這個(gè)mysqlslap可以自動(dòng)生成,默認(rèn)生成一個(gè)mysqlslap的schema,如果已經(jīng)存在則先刪除.可以用-only-print來(lái)打印實(shí)際的測(cè)試過(guò)程,整個(gè)測(cè)試完成后不會(huì)在數(shù)據(jù)庫(kù)中留下痕跡.
實(shí)驗(yàn)步驟:
練習(xí)一:
單線程測(cè)試.測(cè)試做了什么.
>./bin/mysqlslap -a -uroot -p111111
多線程測(cè)試.使用--concurrency來(lái)模擬并發(fā)連接.
> ./bin/mysqlslap -a -c 100 -uroot -p111111
迭代測(cè)試.用于需要多次執(zhí)行測(cè)試得到平均值.
> ./bin/mysqlslap -a -i 10 -uroot -p111111
練習(xí)二:
> ./bin/mysqlslap -auto-generate-sql-add-autoincrement -a -uroot -p111111
> ./bin/mysqlslap -a -auto-generate-sql-load-type=read -uroot -p111111
> ./bin/mysqlslap -a -auto-generate-secondary-indexes=3 -uroot -p111111
> ./bin/mysqlslap -a -auto-generate-sql-write-number=1000 -uroot -p111111
> ./bin/mysqlslap --create-schema world -q "select count(*) from City" -uroot -p111111
> ./bin/mysqlslap -a -e innodb -uroot -p111111
> ./bin/mysqlslap -a --number-of-queries=10 -uroot -p111111
練習(xí)三:
執(zhí)行一次測(cè)試,分別50和100個(gè)并發(fā),執(zhí)行1000次總查詢:
> ./bin/mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --debug-info -uroot -p111111
50和100個(gè)并發(fā)分別得到一次測(cè)試結(jié)果(Benchmark),并發(fā)數(shù)越多,執(zhí)行完所有查詢的時(shí)間越長(zhǎng).為了準(zhǔn)確起見,可以多迭代測(cè)試幾次:
> ./bin/mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --debug-info -uroot -p111111
測(cè)試同時(shí)不同的存儲(chǔ)引擎的性能進(jìn)行對(duì)比:
>./bin/mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb --debug-info -uroot -p111111
《MYSQL教程Mysqlslap MySQL壓力測(cè)試工具 簡(jiǎn)單教程》是否對(duì)您有啟發(fā),歡迎查看更多與《MYSQL教程Mysqlslap MySQL壓力測(cè)試工具 簡(jiǎn)單教程》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/13077.html