MySQL實時計算QPS,TPS的SHELL指令碼兩例
QPS:每秒的查詢數
TPS:每秒的事物量(commit與rollback的之和)
第一例:
#cat mysql_qps.sh
#!/bin/bash
MYSQL_CON="/usr/local/mysql/bin/mysql"
TIME="$1"
OLD_QUERY=`$MYSQL_CON -e "show global status like 'questions';" | awk -F[' ','s'] 'NR==2{print $3}'`
echo "$OLD_QUERY"
sleep "$TIME"
NEW_QUERY=`$MYSQL_CON -e "show global status like 'questions';" | awk -F[' ','s'] 'NR==2{print $3}'`
echo "$NEW_QUERY"
TIME_QUERY=`expr $NEW_QUERY - $OLD_QUERY`
QPS=`expr $TIME_QUERY / $TIME`
echo "$QPS"
檢視接下來10s的QPS:
# ./mysql_qps.sh 10
第二例:透過mysqladmin間隔讀取mysql的status資訊,計算差值,得出統計資訊。
# cat mysql_qps-tps.sh
#!/bin/bash
/usr/local/mysql/bin/mysqladmin -uroot -p'root' extended-status -i1|awk 'BEGIN{local_switch=0;print "QPS Commit Rollback TPS Threads_con Threads_run \n------------------------------------------------------- "}
$2 ~ /Queries$/ {q=$4-lq;lq=$4;}
$2 ~ /Com_commit$/ {c=$4-lc;lc=$4;}
$2 ~ /Com_rollback$/ {r=$4-lr;lr=$4;}
$2 ~ /Threads_connected$/ {tc=$4;}
$2 ~ /Threads_running$/ {tr=$4;
if(local_switch==0)
{local_switch=1; count=0}
else {
if(count>10)
{count=0;print "------------------------------------------------------- \nQPS Commit Rollback TPS Threads_con Threads_run \n------------------------------------------------------- ";}
else{
count+=1;
printf "%-6d %-8d %-7d %-8d %-10d %d \n", q,c,r,c+r,tc,tr;
}
}
}'
執行結果如下:
# ./mysql_qps-tps.sh
QPS Commit Rollback TPS Threads_con Threads_run
-------------------------------------------------------
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
3104 292 400 692 350 3
2488 246 305 551 350 2
3394 331 440 771 350 3
3066 279 395 674 350 3
3400 316 442 758 350 2
3082 278 415 693 350 3
3533 275 430 705 350 3
2638 249 356 605 350 2
3819 315 523 838 350 2
3206 287 449 736 350 2
2949 259 408 667 350 2
-------------------------------------------------------
QPS Commit Rollback TPS Threads_con Threads_run
-------------------------------------------------------
2985 284 399 683 350 2
3042 288 402 690 350 2
3208 282 431 713 350 4
3232 290 437 727 350 2
3220 287 435 722 350 5
3270 308 431 739 350 2
4022 373 546 919 350 2
5497 521 721 1242 350 3
328 18 32 50 350 2
4606 434 602 1036 350 2
1070 101 129 230 350 2
-------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2287165/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【MySQL】計算 TPS,QPS 的python 指令碼MySqlPython指令碼
- 如何計算MySQL QPS和TPS的值MySql
- MySQL中TPS和QPS的計算方式MySql
- 幾例實用的Shell指令碼指令碼
- 分享兩個實用的shell指令碼指令碼
- mysql定時備份shell指令碼MySql指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- shell指令碼例項指令碼
- shell指令碼舉例指令碼
- 實用QPS和TPS高的高效分析方法
- shell指令碼例項(2)指令碼
- js計算兩個時間點時間間隔的程式碼例項JS
- 兩道shell指令碼的程式設計題(sed與awk)指令碼程式設計
- 計算兩個時間點相差天數例項程式碼
- javascript計算兩個日期之間的時間差程式碼例項JavaScript
- Shell指令碼應用兩個例子指令碼
- 【shell 指令碼】兩種登入方式指令碼
- 【shell 】求兩個檔案相加的指令碼指令碼
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- 7 個日常實用的 Shell 拿來就用指令碼例項!指令碼
- storm實時計算例項(socket實時接入)ORM
- MySQL使用XtraBackup的shell指令碼介紹MySql指令碼
- mysql狀態檢視 QPS/TPS/快取命中率檢視MySql快取
- 如何提高系統的吞吐量(QPS/TPS)
- Shell指令碼最佳實踐指令碼
- Bash Shell指令碼中的陣列使用例項指令碼陣列
- 雲端計算面試題及答案,常見的Shell指令碼面試題面試題指令碼
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- mysql便於管理的幾個shell指令碼MySql指令碼
- 建立管理MySQL資料庫的shell指令碼MySql資料庫指令碼
- MySQL的一些功能實用的Linux shell指令碼分享MySqlLinux指令碼
- 兩套mysql備份指令碼MySql指令碼
- mysql時間指令碼MySql指令碼
- 適合時間序列資料的計算指令碼指令碼
- LINUX Shell指令碼程式設計例項詳解(一)上Linux指令碼程式設計
- 利用shell指令碼實現計劃任務功能指令碼
- 透過原始碼看看Redis中如何計算QPS原始碼Redis
- Shell 指令碼程式設計陷阱指令碼程式設計