溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL如何實(shí)現(xiàn)實(shí)時(shí)計(jì)算QPS、TPS的SHELL腳本

發(fā)布時(shí)間:2021-11-01 11:33:20 來源:億速云 閱讀:318 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要為大家展示了“MySQL如何實(shí)現(xiàn)實(shí)時(shí)計(jì)算QPS、TPS的SHELL腳本”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“MySQL如何實(shí)現(xiàn)實(shí)時(shí)計(jì)算QPS、TPS的SHELL腳本”這篇文章吧。

第一例:

#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信息,計(jì)算差值,得出統(tǒng)計(jì)信息。

# 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;

                }

        }

}'

運(yùn)行結(jié)果如下:

# ./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 

------------------------------------------------------- 

------------------------------------------------------- 

------------------------------------------------------- 

------------------------------------------------------- 

以上是“MySQL如何實(shí)現(xiàn)實(shí)時(shí)計(jì)算QPS、TPS的SHELL腳本”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI