日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作為一名數據庫運維人員,手里都有一些工具腳本,這些都是你提升運維效率,快速排查故障的利器。

運維小工具:Mysql庫TPS,QPS實時監控腳本

 

在生產上部署MySQL時,都會對同一配置的mysql數據庫做QPS和TPS壓測,獲取QPS和TPS的容量數據,一旦上生產之后,應用的TPS,QPS達到容量的告警閥值,則會建議應用數據庫進行拆分,擴容。

生產上的TPS,QPS指標對應數據庫來說是非常重要,所以排查問題時,通常會實時的查看TPS,QPS指標值,下面就給大家分享一個實時查看TPS,QPS指標值的shell腳本。

腳本內容如下所示

#!/bin/bash
mysqladmin -uroot -proot --socket=/u02/run/3308/mysql.sock 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;
                }        }}'

在這里我用sysbench模擬一下業務操作

[mysql@localhost ~]$ sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.17.128 --mysql-port=3308 --mysql-user=root --mysql-password='root'  --mysql-db=sbtest --oltp-test-mode=complex --oltp-tables-count=1 --oltp-table-size=100000 --threads=128  --oltp-nontrx-mode=select --oltp-read-only=off --max-time=40 --report-interval=5 run
[ 5s ] thds: 128 tps: 122.91 qps: 2770.42 (r/w/o: 1992.38/507.44/270.61) lat (ms,95%): 1618.78 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 128 tps: 121.83 qps: 2551.02 (r/w/o: 1795.04/511.32/244.66) lat (ms,95%): 1648.20 err/s: 0.20 reconn/s: 0.00
[ 15s ] thds: 128 tps: 138.79 qps: 2666.28 (r/w/o: 1860.92/527.98/277.39) lat (ms,95%): 1708.63 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 128 tps: 139.60 qps: 2784.88 (r/w/o: 1946.85/558.62/279.41) lat (ms,95%): 1376.60 err/s: 0.00 reconn/s: 0.00
[ 25s ] thds: 128 tps: 131.90 qps: 2694.65 (r/w/o: 1890.03/541.01/263.61) lat (ms,95%): 1453.01 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 128 tps: 137.50 qps: 2774.16 (r/w/o: 1939.17/559.79/275.19) lat (ms,95%): 1506.29 err/s: 0.00 reconn/s: 0.00
[ 35s ] thds: 128 tps: 142.38 qps: 2755.43 (r/w/o: 1932.54/538.13/284.76) lat (ms,95%): 1533.66 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 128 tps: 134.41 qps: 2731.10 (r/w/o: 1906.81/555.66/268.63) lat (ms,95%): 1453.01 err/s: 0.00 reconn/s: 0.00
SQL statistics:
    queries performed:
        read:                            76664
        write:                           21901
        other:                           10951
        total:                           109516
    transactions:                       5475   (135.35 per sec.)
    queries:                             109516 (2707.35 per sec.)
    ignored errors:                      1      (0.02 per sec.)
    reconnects:                          0      (0.00 per sec.)
General statistics:
    total time:                          40.4493s
    total number of events:              5475
Latency (ms):
         min:                                   97.28
         avg:                                  942.69
         max:                                15577.39
         95th percentile:                     1533.66
         sum:                              5161211.71
Threads fairness:
    events (avg/stddev):           42.7734/2.45
    execution time (avg/stddev):   40.3220/0.11
運維小工具:Mysql庫TPS,QPS實時監控腳本

 

用途TPS,QPS監控腳本監控,看一下監控內容是否和sysbench的結果有差異

[mysql@localhost ~]$ ./mysql_tps.sh 
------------------------------------------------------- 
QPS   Commit Rollback   TPS    Threads_con Threads_run 
------------------------------------------------------- 
3090   186      0       186      130        40 
2661   131      0       131      130        89 
2603   129      0       129      130        45 
2557   92       0       92       130        123 
2066   126      0       126      130        11 
2638   123      0       123      130        25 
2770   174      0       174      130        127 
3006   172      0       172      130        39 
2797   117      0       117      130        43 
2247   103      0       103      130        80 
2742   157      0       157      130        119 
------------------------------------------------------- 
QPS   Commit Rollback   TPS    Threads_con Threads_run 
------------------------------------------------------- 
2974   159      0       159      130        22 
2864   141      0       141      130        23 
2754   130      0       130      130        122 
2685   149      0       149      130        40 
2809   126      0       126      130        21 
2631   140      0       140      130        21 
2594   126      0       126      130        23 
2868   148      0       148      130        28 
2696   130      0       130      130        63 
2920   148      0       148      130        49 
2569   127      0       127      130        37 

從sysbench的結果可以看到,TPS為135.35 per sec,QPS為2707.35 per sec

這個結果和我們的腳本監控基本是一致的。

在這里如果想要看insert,update,delete,select語句的執行情況,可以將腳本進行升級,其內容如下 所示

運維小工具:Mysql庫TPS,QPS實時監控腳本

 

改進型TPS,QPS監控腳本

#!/bin/bash
mysqladmin -uroot -proot --socket=/u02/run/3308/mysql.sock extended-status -i1|awk 'BEGIN{local_switch=0;print "QPS   Commit Rollback   TPS  delete  insert select  update  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 ~ /Innodb_rows_deleted$/            {deleted=$4-ldeleted;ldeleted=$4;}
     $2 ~ /Innodb_rows_inserted$/           {inserted=$4-linserted;linserted=$4;}
     $2 ~ /Innodb_rows_read$/               {read=$4-lread;lread=$4;}
     $2 ~ /Innodb_rows_updated$/            {updated=$4-lupdated;lupdated=$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  delete  insert select  update  Threads_con Threads_run n------------------------------------------------------- ";}
                else{
                        count+=1;
                        printf "%-6d %-8d %-7d %-8d %-6d %-8d %-7d %-8d %-10d %d n", q,c,r,c+r,deleted,inserted,read,updated,tc,tr;
                }        }}'

執行結果如下所示

[mysql@localhost ~]$ ./mysql_tps1.sh 
QPS   Commit Rollback   TPS  delete  insert select  update  Threads_con Threads_run 
------------------------------------------------------- 
2682   122      0       122      125    119      60109   310      130        58 
3226   236      0       236      227    239      52536   396      130        36 
2902   120      0       120      128    119      53944   255      130        43 
2239   103      0       103      93     101      58825   198      130        80 
2744   157      0       157      158    158      59333   347      130        121 
2661   97       0       97       111    102      52633   196      130        59 
2956   160      0       160      150    156      56371   284      130        22 
2882   140      0       140      139    141      60888   277      130        27 
2753   130      0       130      128    127      57236   278      130        128 
2680   150      0       150      153    151      58142   302      130        40 
2812   124      0       124      130    130      59764   244      130        20 
------------------------------------------------------- 
QPS   Commit Rollback   TPS  delete  insert select  update  Threads_con Threads_run 
------------------------------------------------------- 
2583   126      0       126      129    129      54180   260      130        22 
2855   148      0       148      144    146      61005   292      130        28 
2720   130      0       130      136    131      59835   278      130        63 
2919   148      0       148      142    147      54369   270      130        49 
2571   127      0       127      136    134      53447   276      130        37 
2715   134      0       134      129    128      58469   260      130        26 
2733   135      0       135      132    134      55638   268      130        77 
2890   149      0       149      156    155      62622   303      130        26 
2911   148      0       148      143    145      54919   285      130        44 
2838   139      0       139      137    134      60621   277      130        56 
2758   139      0       139      145    144      58161   275      130        45 

這個腳本你get了吧。

分享到:
標簽:Mysql
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定