日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysqlslap详解--MySQL自带的性能压力测试工具(转)

發布時間:2023/12/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysqlslap详解--MySQL自带的性能压力测试工具(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?本文的參考博客地址為:https://blog.csdn.net/fuzhongfaya/article/details/80943991?和?https://www.cnblogs.com/davygeek/p/5253830.html

本文的目的一方面是自己整理,防止后續忘記,一方面是對參考博客的進行驗證.

首先在這里介紹一下常用的參數及其說明:

--auto-generate-sql, -a 自動生成測試表和數據,表示用mysqlslap工具自己生成的SQL腳本來測試并發壓力。

--auto-generate-sql-load-type=type 測試語句的類型。代表要測試的環境是讀操作還是寫操作還是兩者混合的。取值包括:read,key,write,update和mixed(默認)。

--auto-generate-sql-guid-primary 增加基于GUID的主鍵

--auto-generate-sql-add-auto-increment 代表對生成的表自動添加auto_increment列,從5.1.18版本開始支持。
--number-char-cols=N, -x N 自動生成的測試表中包含多少個字符類型的列,默認1
--number-int-cols=N, -y N 自動生成的測試表中包含多少個數字類型的列,默認1
--number-of-queries=N 總的測試查詢次數(并發客戶數×每客戶查詢次數)
--query=name,-q 使用自定義腳本執行測試,例如可以調用自定義的一個存儲過程或者sql語句來執行測試。
--create-schema 代表自定義的測試庫名稱,測試的schema,MySQL中schema也就是database。
--commint=N 多少條DML后提交一次。
--compress, -C 如果服務器和客戶端支持都壓縮,則壓縮信息傳遞。
--concurrency=N, -c N 表示并發量,也就是模擬多少個客戶端同時執行select。可指定多個值,以逗號或者--delimiter參數指定的值做為分隔符。例如:--concurrency=100,200,500。
--engine=engine_name, -e engine_name 代表要測試的引擎,可以有多個,用分隔符隔開。例如:--engines=myisam,innodb。
--iterations=N, -i N 測試執行的迭代次數,代表要在不同并發環境下,各自運行測試多少次。
--only-print 只打印測試語句而不實際執行。
--detach=N 執行N條語句后斷開重連。
--debug-info, -T 打印內存和CPU的相關信息。

?

執行測試:

1.執行測試并打印測試的詳細過程:mysqlslap -a -uroot -proot? --only-print

?可以看到執行測試的過程首先是創建schema ,然后再是創建表,測試結束的時候回刪除表以及刪除schema

?

?

2.分別用50和100個客戶端連接去測試100條查詢

?mysqlslap -a -uroot -proot --concurrency=50,100 --number-of-queries=100

?可以看到對應的每個連接上分配到的查詢數平均值分別為2和1?

?

3. 實際測試中的復雜情況。?

使用 --number-int-cols 選項,指定表中會包含 4 個 int 型的列。?
使用 --number-char-cols 選項,指定表中會包含 35 個 char 型的列。?
使用 --engine 選項,指定針對何種存儲引擎進行測試。?

mysqlslap –uroot -proot --concurrency=50 --iterations=1 --number-int-cols=2--number-char-cols=1 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=mixed --engine=myisam,innodb --number-of-queries=200 --only-print

?

可以看出生成的默認sql語句和表結構已經有了變化,除了自增列外包含2個數字列和一個varchar 列

?

?4、實現基于自定義的sql語句進行性能測試

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

?

轉載于:https://www.cnblogs.com/cheng21553516/p/11374840.html

總結

以上是生活随笔為你收集整理的mysqlslap详解--MySQL自带的性能压力测试工具(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。