Mysql壓力測試shell指令碼

2021-12-30 01:02:19 字數 1263 閱讀 7423

mysql壓力測試shell指令碼

mysql自帶了壓力測試工具mysqlslap,所以我們可以不用自己編寫程式來測試mysql讀取的壓力。壓力測試shell指令碼如下:  www.2cto.com  

[plain] 

#!/bin/sh  

while true  

do  

mysqlslap --concurrency=100 --iterations=10 --create-schema='test' --query="insert into test(c1,c2,c3,c4) values(1,1,1,'a')" --number-of-queries=200 --debug-info -uroot -p123456  

usleep 100  

done  

www.2cto.com  

上面指令碼的意思是每隔100ms迴圈做這樣的事:模擬100個mysql客戶端,對資料庫test的表test執行200次插入(number-of-queries = concurrency * 每個mysql客戶端的查詢次數,所以這裡的每個mysql客戶端的查詢次數是2次),迭代10次。--debug-info是列印記憶體和cpu的相關資訊。

接著我們可以編寫shell指令碼來輸出指定時間間隔(比如1秒)內的mysql操作次數,shell指令碼如下:

[plain] 

#!/bin/sh  

lasttimes="0"  

while true  

do  

currenttimes=$(mysql -uroot -p'123456' -e "show global status like 'com_insert'" | sed '1d' | awk '')  

times=$(expr $ - $)  

lasttimes="$"  

echo "$"  

sleep 1  

done  

檢視mysql各種操作的次數,可以通過檢視global status裡的'com_'開頭的變數,它們就是mysql的操作命令,比如com_insert就是插入命令、com_update就是更新命令,等等,具體可以檢視文件說明。將相鄰兩次的次數相減,就得到這個時間間隔內執行的次數。

ps:除了iostat等命令外,也可以通過top命令來檢視io的負載(看wait的百分比,如果大於等於 1 / cpu核數,則說明硬碟io有問題)。請參考英文文章:understanding disk i/o - when should you be worried?

**

mysql 壓力測試 golang 壓力測試

1.壓力測試 1.1.1.go怎麼寫測試用例 開發程式其中很重要的一點是測試,我們如何保證 的質量,如何保證每個函式是可執行,執行結果是正確的,又如何保證寫出來的 效能是好的,我們知道單元測試的重點在於發現程式設計或實現的邏輯錯誤,使問題及早暴露,便於問題的定位解決,而效能測試的重點在於發現程式設計...

並行壓力測試shell指令碼

記 本文自網上篇章改寫而成。主要目的是為了理解壓測工具執行的原理。指令碼主要實現的功能有以下幾點。bin bash 併發後台執行fun for wanggy 2012 01 25 note www.jquerycn.cn fun num fun函式後台執行次數 sql num 每個函式sql執行次數...

mysql進行測試的指令碼 mysql測試指令碼

mysql從5.1.4版開始帶有乙個壓力測試工具mysqlslap,通過模擬多個併發客戶端訪問mysql來執行測試,使用起來非常的簡單。通過mysqlslap help可以獲得可用的選項,這裡列一些主要的引數,更詳細的說明參考官方手冊。複製 如下 auto generate sql,a 自動生成測試...