參數(shù)名 |
說明 |
---|---|
login-path=# |
新版本 MySQL 提供的登錄方式 |
-a, --auto-generate-sql |
自動生成 SQL 語句 |
--auto-generate-sql-add-autoincrement |
在自動生成的表中添加自增列 |
--auto-generate-sql-execute-number=# |
測試中,執(zhí)行 SQL 的總次數(shù) |
--auto-generate-sql-guid-primary |
生成基于 GUID 的主鍵 |
--auto-generate-sql-load-type=name |
測試的負(fù)載模型,包括 mixed, update, write, key,read,默認(rèn)是 mix |
--auto-generate-sql-secondary-indexes=# |
自動生成的表中,二級索引的數(shù)量 |
--auto-generate-sql-unique-query-number=# |
測試中,使用唯一索引的查詢語句數(shù)量 |
--auto-generate-sql-unique-write-number=# |
測試中,使用唯一索引的 DML 語句數(shù)量 |
--auto-generate-sql-write-number=# |
測試中,每個線程執(zhí)行的 insert 語句數(shù)量,默認(rèn)為 100 |
--commit=# |
測試中,每多少個語句執(zhí)行一次 commit |
-c, --concurrency=name |
測試中,并發(fā)的線程數(shù)/客戶端數(shù) |
--create=name |
自定義建表語句,或者是 SQL 文件的地址 |
--create-schema=name |
測試中,使用的數(shù)據(jù)庫名 |
--detach=# |
測試中,每執(zhí)行一定數(shù)量的語句后進(jìn)行重連 |
-e, --engine=name |
指定建表時的存儲引擎 |
-h, --host=name |
指定測試實例的 host 地址 |
-u, --user=name |
指定測試實例的用戶名 |
-p, --password=name |
指定測試實例的密碼 |
-P, --port=# |
指定測試實例的端口 |
-i, --iterations=# |
指定測試重復(fù)的次數(shù) |
--no-drop |
指定測試完成后不刪除測試用的庫表 |
-x, --number-char-cols=name |
指定測試表中 varchar 列的數(shù)量 |
-y, --number-int-cols=name |
指定測試表中 int 列的數(shù)量 |
--number-of-queries=# |
指定每個線程執(zhí)行的 SQL 語句數(shù)量上限(不精確) |
--only-print |
類似于 dry run,輸出會進(jìn)行的操作,但是不會真的執(zhí)行 |
-F, --delimiter=name |
使用文件中提供的 SQL 語句時,顯式指定語句之間的分隔符 |
--post-query=name |
指定測試完成后,執(zhí)行的查詢語句,或者是 SQL 語句的文件 |
--pre-query=name |
指定測試開始前,執(zhí)行的查詢語句,或者是 SQL 語句的文件 |
-q, --query=name |
指定測試時,執(zhí)行的查詢語句,或者是 SQL 語句的文件 |
這里對 mysqlslap 進(jìn)行一次簡單的試用,目標(biāo)實例使用騰訊云數(shù)據(jù)庫 MySQL,最簡單的測試示例如下:
root@VM-64-10-debian:~# mysqlslap --concurrency=100 --iterations 10 -a --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=1000 -h172.1.100.10 -uroot -p Enter password: Benchmark Running for engine innodb Average number of seconds to run all queries: 0.046 seconds Minimum number of seconds to run all queries: 0.042 seconds Maximum number of seconds to run all queries: 0.049 seconds Number of clients running queries: 100 Average number of queries per client: 10 root@VM-64-10-debian:~#
該示例中使用的就是最簡單的測試模型,由 mysqlslap 自己生成所有的測試語句與建表語句。
如果要對不同并發(fā)下的性能做對比,則可以用這種方式進(jìn)行測試:
root@VM-64-10-debian:~# mysqlslap --concurrency=100,200 --iterations 10 -a --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=1000 -h172.16.0.40 -uroot -p Enter password: Benchmark Running for engine innodb Average number of seconds to run all queries: 0.046 seconds Minimum number of seconds to run all queries: 0.045 seconds Maximum number of seconds to run all queries: 0.048 seconds Number of clients running queries: 100 Average number of queries per client: 10 Benchmark Running for engine innodb Average number of seconds to run all queries: 0.037 seconds Minimum number of seconds to run all queries: 0.034 seconds Maximum number of seconds to run all queries: 0.052 seconds Number of clients running queries: 200 Average number of queries per client: 5 root@VM-64-10-debian:~#
輸出的結(jié)果為時間,因此時間越小說明整體性能越好。
如果要自定義測試語句,則可以把 SQL 語句寫在文件里面,例如:
root@VM-64-10-debian:~# cat create.sql CREATE TABLE a (b int);INSERT INTO a VALUES (23); root@VM-64-10-debian:~# cat query.sql SELECT * FROM a; SELECT b FROM a; root@VM-64-10-debian:~# root@VM-64-10-debian:~# mysqlslap --concurrency=100,200 --query=query.sql --create=create.sql --delimiter=";" --engine=innodb --number-of-queries=1000 -h172.16.0.40 -uroot -p Enter password: Benchmark Running for engine innodb Average number of seconds to run all queries: 0.045 seconds Minimum number of seconds to run all queries: 0.045 seconds Maximum number of seconds to run all queries: 0.045 seconds Number of clients running queries: 100 Average number of queries per client: 10 Benchmark Running for engine innodb Average number of seconds to run all queries: 0.023 seconds Minimum number of seconds to run all queries: 0.023 seconds Maximum number of seconds to run all queries: 0.023 seconds Number of clients running queries: 200 Average number of queries per client: 5 root@VM-64-10-debian:~#
市面上可用的 MySQL 壓測工具非常多,各個工具都有優(yōu)劣,多了解一些工具,然后根據(jù)實際需求選擇最合適的工具就能以最效率的方式完成需要的壓力測試。
以上就是Mysql官方性能測試工具mysqlslap的使用簡介的詳細(xì)內(nèi)容,更多關(guān)于mysqlslap的使用的資料請關(guān)注腳本之家其它相關(guān)文章!
標(biāo)簽:麗水 迪慶 南充 自貢 龍巖 西寧 無錫 徐州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql官方性能測試工具mysqlslap的使用簡介》,本文關(guān)鍵詞 Mysql,官方,性能,測試工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。