程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql壓力測試shell腳本

Mysql壓力測試shell腳本

編輯:MySQL綜合教程

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 '{print $2}')       times=$(expr ${currentTimes} - ${lastTimes})       lastTimes="${currentTimes}"       echo "${times}"       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?   來源 http://blog.csdn.net/skyman_2001

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved