mysqlslap壓力測試介紹
mysqlslap是一款壓力測試工具,它會模擬多個客戶端訪問MySQL服務,記錄各個階段的消耗時間。
主要引數如下:
--host=host_name, -h host_name MySQL伺服器所在的主機
--user=user_name, -u user_name 連線到MySQL伺服器所使用的使用者名稱
--password[=password], -p[password] 連線到MySQL伺服器所使用的密碼
--query=value, -q value 執行的SQL語句
--number-of-queries=N 每個客戶端執行SQL語句的次數。需要注意的是,每條SQL之間的;都會算作一次,例如--query="use test;insert into t values(null)"就是2次。
mysqlslap --delimiter=";" --number-of-queries=10 --query="use test;insert into t values(null)" 這個語句會執行5次INSERT操作
--concurrency=N, -c N 模擬客戶端的並行度
--iterations=N, -i N 執行壓力測試的次數
--create-schema=value 在哪個使用者下執行壓力測試
--commit=N 執行多少條SQL進行提交,預設沒有提交
--auto-generate-sql, -a 當沒有指定SQL語句的時候,自動生成SQL語句
--number-char-cols=N, -x N 自動生成SQL語句中,VARCHAR欄位的個數
--number-int-cols=N, -y N 自動生成SQL語句中,INT欄位的個數
--auto-generate-sql-add-autoincrement 自動生成SQL語句所使用的表中,增加一個自增序列
--auto-generate-sql-execute-number=N 自動生成SQL語句的查詢次數
--auto-generate-sql-guid-primary 增加一個GUID為基礎的主鍵到自動生成的表中
--auto-generate-sql-load-type=type 指定壓力測試的型別。可以設定的型別有read (表掃描)、write (插入語句)、key (讀主鍵)、update (更新主鍵)或mixed(一半插入操作、一半查詢操作),預設型別是mixed
--auto-generate-sql-secondary-indexes=N 指定自動生成的表中,非主鍵索引的數量,預設是沒有建立非主鍵索引
--auto-generate-sql-unique-query-number=N 指定對自動生成的表執行查詢的不同個數,預設值是10
--auto-generate-sql-unique-write-number=N 指定對自動生成的表執行寫操作的不同個數,預設值是10
示例:
使用neo使用者登入,模擬30個使用者連線,共執行10萬次請求
[root@localhost ~]# /software/bin/mysqlslap -h 192.168.78.141 --user=system --password=system --query="use fire;select * from test2" --number-of-queries=100000 -c 30 -i 10 --create-schema=neo
--執行結果
Benchmark
Average number of seconds to run all queries: 6.779 seconds
Minimum number of seconds to run all queries: 6.607 seconds
Maximum number of seconds to run all queries: 7.310 seconds
Number of clients running queries: 30
Average number of queries per client: 3333
使用自動生成SQL方式,模擬30個使用者併發連線,執行10000次不同的查詢,每執行10000條SQL語句進行事務提交
[root@localhost ~]# /software/bin/mysqlslap -h 192.168.78.141 --user=system --password=system --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-execute-number=100000 --
commit=10000 --create-schema=neo
Benchmark
Average number of seconds to run all queries: 16.332 seconds
Minimum number of seconds to run all queries: 16.332 seconds
Maximum number of seconds to run all queries: 16.332 seconds
Number of clients running queries: 1
Average number of queries per client: 100000
主要引數如下:
--host=host_name, -h host_name MySQL伺服器所在的主機
--user=user_name, -u user_name 連線到MySQL伺服器所使用的使用者名稱
--password[=password], -p[password] 連線到MySQL伺服器所使用的密碼
--query=value, -q value 執行的SQL語句
--number-of-queries=N 每個客戶端執行SQL語句的次數。需要注意的是,每條SQL之間的;都會算作一次,例如--query="use test;insert into t values(null)"就是2次。
mysqlslap --delimiter=";" --number-of-queries=10 --query="use test;insert into t values(null)" 這個語句會執行5次INSERT操作
--concurrency=N, -c N 模擬客戶端的並行度
--iterations=N, -i N 執行壓力測試的次數
--create-schema=value 在哪個使用者下執行壓力測試
--commit=N 執行多少條SQL進行提交,預設沒有提交
--auto-generate-sql, -a 當沒有指定SQL語句的時候,自動生成SQL語句
--number-char-cols=N, -x N 自動生成SQL語句中,VARCHAR欄位的個數
--number-int-cols=N, -y N 自動生成SQL語句中,INT欄位的個數
--auto-generate-sql-add-autoincrement 自動生成SQL語句所使用的表中,增加一個自增序列
--auto-generate-sql-execute-number=N 自動生成SQL語句的查詢次數
--auto-generate-sql-guid-primary 增加一個GUID為基礎的主鍵到自動生成的表中
--auto-generate-sql-load-type=type 指定壓力測試的型別。可以設定的型別有read (表掃描)、write (插入語句)、key (讀主鍵)、update (更新主鍵)或mixed(一半插入操作、一半查詢操作),預設型別是mixed
--auto-generate-sql-secondary-indexes=N 指定自動生成的表中,非主鍵索引的數量,預設是沒有建立非主鍵索引
--auto-generate-sql-unique-query-number=N 指定對自動生成的表執行查詢的不同個數,預設值是10
--auto-generate-sql-unique-write-number=N 指定對自動生成的表執行寫操作的不同個數,預設值是10
示例:
使用neo使用者登入,模擬30個使用者連線,共執行10萬次請求
[root@localhost ~]# /software/bin/mysqlslap -h 192.168.78.141 --user=system --password=system --query="use fire;select * from test2" --number-of-queries=100000 -c 30 -i 10 --create-schema=neo
--執行結果
Benchmark
Average number of seconds to run all queries: 6.779 seconds
Minimum number of seconds to run all queries: 6.607 seconds
Maximum number of seconds to run all queries: 7.310 seconds
Number of clients running queries: 30
Average number of queries per client: 3333
使用自動生成SQL方式,模擬30個使用者併發連線,執行10000次不同的查詢,每執行10000條SQL語句進行事務提交
[root@localhost ~]# /software/bin/mysqlslap -h 192.168.78.141 --user=system --password=system --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-execute-number=100000 --
commit=10000 --create-schema=neo
Benchmark
Average number of seconds to run all queries: 16.332 seconds
Minimum number of seconds to run all queries: 16.332 seconds
Maximum number of seconds to run all queries: 16.332 seconds
Number of clients running queries: 1
Average number of queries per client: 100000
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2095143/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysqlslap壓力測試MySql
- 壓力測試工具之mysqlslapMySql
- MySQL基準壓力測試工具MySQLSlapMySql
- 官方壓測工具mysqlslap介紹及使用MySql
- 用mysqlslap對MySQL進行壓力測試MySql
- MySQL壓測工具mysqlslap的介紹與使用MySql
- Android Monkey 壓力測試 介紹Android
- mysql之 mysql資料庫壓力測試工具(mysqlslap)MySql資料庫
- 壓力測試sysbench安裝及引數介紹
- mysqlslap 效能壓測MySql
- mysqlslap效能壓測MySql
- MySQL mysqlslap壓測MySql
- 效能測試:主流壓測工具介紹
- mysqlslap測試MySql
- ORACLE壓力測試Oracle
- laravel壓力測試Laravel
- MACOSXApacheab壓力測試MacApache
- NGINX壓力測試Nginx
- 壓力測試工具
- 用mysqlslap壓測自定義sqlMySql
- mysqlslap 效能測試工具MySql
- nginx壓力測試方法:Nginx
- 壓力測試指令碼指令碼
- (一)效能測試(壓力測試、負載測試)負載
- RestCloud測試平臺,支援壓力測試RESTCloud
- 讓測試事半功倍軟體壓力測試工具分享,壓力測試報告怎麼收費?測試報告
- MySQL 效能測試工具mysqlslapMySql
- Apache Bench Web 壓力測試ApacheWeb
- oracle壓力測試之orastress!OracleAST
- 壓力測試工具之FIO
- webbench進行壓力測試Web
- 網站壓力測試工具網站
- Mysql 壓力測試工具sysbenchMySql
- Oracle壓力測試:HammeroraOracle
- Jmeter效能測試 —— 壓力模式JMeter模式
- apache ab壓力測試工具-批次壓測指令碼Apache指令碼
- 軟體壓力測試怎麼做?出具壓力測試報告軟體測評中心測試報告
- 軟體壓力測試流程和測試工具分享,讓你寫壓力測試報告再也不愁測試報告