簡單、易用的 MySQL 官方壓測工具,建議收藏!
一、MySQL自帶的壓力測試工具 Mysqlslap
mysqlslap是mysql自帶的基準測試工具,該工具查詢數據,語法簡單,靈活容易使用.該工具可以模擬多個客戶端同時并發的向服務器發出查詢更新,給出了性能測試數據而且提供了多種引擎的性能比較。mysqlslap為mysql性能優化前后提供了直觀的驗證依據,系統運維和DBA人員應該掌握一些常見的壓力測試工具,才能準確的掌握線上數據庫支撐的用戶流量上限及其抗壓性等問題。
1、更改其默認的最大連接數
在對MySQL進行壓力測試之前,需要更改其默認的最大連接數,如下:
查看最大連接數
進行壓力測試:
上述命令測試說明:模擬測試兩次讀寫并發,第一次100,第二次200,自動生成SQL腳本,測試表包含20個init字段,30個char字段,每次執行2000查詢請求。測試引擎分別是myisam,innodb。(上述選項中有很多都是默認值,可以省略,如果想要了解各個選項的解釋,可以使用mysqlslap --help進行查詢)。
測試結果說明:
-
Myisam第一次100客戶端同時發起增查用0.557/s,第二次200客戶端同時發起增查用0.522/s -
Innodb第一次100客戶端同時發起增查用0.256/s,第二次200客戶端同時發起增查用0.303/s
可以根據實際需求,一點點的加大并發數量進行壓力測試。
二、使用第三方sysbench工具進行壓力測試
1、安裝sysbench工具
sysbench可以進行以下測試:
-
CPU 運算性能測試 -
磁盤 IO 性能測試 -
調度程序性能測試 -
內存分配及傳輸速度測試 -
POSIX 線程性能測試
數據庫性能測試(OLTP 基準測試,需要通過 /usr/share/sysbench/ 目錄中的 Lua 腳本執行,例如 oltp_read_only.lua 腳本執行只讀測試)。
sysbench 還可以通過運行命令時指定自己的 Lua 腳本來自定義測試。
2、查看sysbench工具的幫助選項
3、sysbench測試MySQL數據庫性能
1)準備測試數據
2)確認測試數據以存在
3)數據庫測試和結果分析
稍微修改下之前準備數據的語句,就可以拿來測試了。需要注意的是,之前使用的lua腳本為oltp_common.lua,它是一個通用腳本,是被其它lua腳本調用的,它不能直接拿來測試。
所以,我這里用oltp_read_write.lua腳本來做讀、寫測試。還有很多其它類型的測試,比如只讀測試、只寫測試、刪除測試、大批量插入測試等等。可找到對應的lua腳本進行調用即可。
上述命令返回的結果如下:
4、cpu/io/內存等測試
sysbench內置的幾個測試指標如下:
可以直接help輸出測試方法,例如,fileio測試:
1)測試io性能
例如,創建5個文件,總共2G,每個文件大概400M
然后運行測試:
返回的結果如下:
2)測試cpu性能
壓測時,還請小心謹慎!!!!
文章來源于網絡,侵刪!