mysql系列(十)——壓力測試工具(mysqlslap)

一、安裝 :MySqlSlap是從mysql5.1版本開始官方提供的測試工具(無需安裝)

二、MySqlSlap

  1. 簡介
MySqlSlap是從mysql5.1版本開始官方提供的測試工具
1.  自動創建schema,table,test data;
2.  運行負載測試,可以使用多個併發客戶端連接
3.  測試環境清理(刪除創建的數據、表等,斷開連接)


  1. 簡介
序號 右對齊 作用
1 --create-schema=name 指定測試的數據庫名,默認是mysqlslap
2 --engine=name 創建測試表所使用的存儲引擎,可指定多個單元格
3 --concurrency=N 模擬N個客戶端併發執行。可指定多個值,以逗號或者
4 --number-of-queries=N 總的測試查詢次數(併發客戶數×每客戶查詢次數),比如併發 是10,總次數是100,那麼10個客戶端各執行10個
5 --iterations=N 迭代執行的次數,即重複的次數(相同的測試進行N次,求一 個平均值),指的是整個步驟的重複次數,包括準備數據、測 試load、清理
6 --commit=N 執行N條DML後提交一次
7 --auto-generate-sql, -a 自動生成測試表和數據,表示用mysqlslap工具自己生成的 SQL腳本來測試併發壓力。
8 --auto-generate-sql-loadtype=name # 測試語句的類型。代表要測試的環境是讀操作還是寫操作還 是兩者混合的。 # 取值包括:read (scan tables), write (insert into tables), key (read primary keys), update (update primary keys), or mixed (half inserts, half scanning selects). 默認值是:mixed.
9 --auto-generate-sql-addauto-increment 對生成的表自動添加auto_increment列
10 --number-char-cols=name 自動生成的測試表中包含N個字符類型的列,默認1
11 --number-int-cols=name 自動生成的測試表中包含N個數字類型的列,默認1
12 --debug-info 打印內存和CPU的信息
  1. 測試案例
  • mysqlslap -a -u root -p123456 --create-schema='test' --concurrency=100 --iterations=10 auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=100
[root@192 ~]# mysqlslap -a -u root -p123456 --create-schema='test' --concurrency=100 --iterations=10 auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=100
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.039 seconds
        Minimum number of seconds to run all queries: 0.014 seconds
        Maximum number of seconds to run all queries: 0.131 seconds
        Number of clients running queries: 100
        Average number of queries per client: 1
  • mysqlslap -a -u root -p123456 --create-schema='test' --concurrency=1,20,50,100 --iterations=10 auto-generate-sql-add-autoincrement --number-char-cols=5 --number-int-cols=5 --engine=innodb,myisam
[root@192 ~]# mysqlslap -a -u root -p123456 --create-schema='test' --concurrency=1,20,50,100 --iterations=10 auto-generate-sql-add-autoincrement --number-char-cols=5 --number-int-cols=5 --engine=innodb,myisam
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.014 seconds
        Minimum number of seconds to run all queries: 0.009 seconds
        Maximum number of seconds to run all queries: 0.031 seconds
        Number of clients running queries: 1
        Average number of queries per client: 0

Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.109 seconds
        Minimum number of seconds to run all queries: 0.038 seconds
        Maximum number of seconds to run all queries: 0.262 seconds
        Number of clients running queries: 20
        Average number of queries per client: 0

Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.197 seconds
        Minimum number of seconds to run all queries: 0.119 seconds
        Maximum number of seconds to run all queries: 0.424 seconds
        Number of clients running queries: 50
        Average number of queries per client: 0

Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.590 seconds
        Minimum number of seconds to run all queries: 0.348 seconds
        Maximum number of seconds to run all queries: 1.173 seconds
        Number of clients running queries: 100
        Average number of queries per client: 0

Benchmark
        Running for engine myisam
        Average number of seconds to run all queries: 0.003 seconds
        Minimum number of seconds to run all queries: 0.003 seconds
        Maximum number of seconds to run all queries: 0.005 seconds
        Number of clients running queries: 1
        Average number of queries per client: 0

Benchmark
        Running for engine myisam
        Average number of seconds to run all queries: 0.024 seconds
        Minimum number of seconds to run all queries: 0.021 seconds
        Maximum number of seconds to run all queries: 0.028 seconds
        Number of clients running queries: 20
        Average number of queries per client: 0

Benchmark
        Running for engine myisam
        Average number of seconds to run all queries: 0.095 seconds
        Minimum number of seconds to run all queries: 0.078 seconds
        Maximum number of seconds to run all queries: 0.134 seconds
        Number of clients running queries: 50
        Average number of queries per client: 0

Benchmark
        Running for engine myisam
        Average number of seconds to run all queries: 0.242 seconds
        Minimum number of seconds to run all queries: 0.227 seconds
        Maximum number of seconds to run all queries: 0.264 seconds
        Number of clients running queries: 100
        Average number of queries per client: 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章