高性能mysql筆記(三)mysqlslap性能測試

mysqlslap 可以用於模擬服務器的負載,並輸出計時信息。測試時,可以指定併發連接數,可以指定 SQL 語句。如果沒有指定 SQL 語句,mysqlslap 會自動生成查詢 schema 的 SELECT 語句。

1.測試

    mysqlslap --help

如果是報錯

mysqlslap: unknown variable 'default-character-set=utf8'

請修改 my.cnf ,把下面這行註釋掉

 #default-character-set=utf8

a.模擬併發處理查詢請求:

mysqlslap -a -uroot -p -c 20 --number-of-queries=100
Enter password: 
Benchmark
    Average number of seconds to run all queries: 0.051 seconds
    Minimum number of seconds to run all queries: 0.051 seconds
    Maximum number of seconds to run all queries: 0.051 seconds
    Number of clients running queries: 20
    Average number of queries per client: 5

b. 提供你自己的創建 SQL 語句和查詢 SQL 語句,有 50 個客戶端查詢,每個查詢 200 次(在單行上輸入命令)

mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 
--iterations=200 -uroot -p

輸出:

Benchmark
    Average number of seconds to run all queries: 0.011 seconds
    Minimum number of seconds to run all queries: 0.010 seconds
    Maximum number of seconds to run all queries: 0.015 seconds
    Number of clients running queries: 50
    Average number of queries per client: 1

c.可以創建兩個文件來保存sql

ll | grep .sql
-rw-rw-r--  1 wgy  wgy     50 May 21 19:34 create.sql
-rw-rw-r--  1 wgy  wgy     17 May 21 19:33 query.sql

然後執行:

mysqlslap --concurrency=5 --iterations=5 -uroot -p  --query=query.sql --create=create.sql --delimiter=";"
Enter password: 
Benchmark
    Average number of seconds to run all queries: 0.000 seconds
    Minimum number of seconds to run all queries: 0.000 seconds
    Maximum number of seconds to run all queries: 0.001 seconds
    Number of clients running queries: 5
    Average number of queries per client: 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章