即时qps&tps获取脚本示例(2)

1、用于检测数据库的qps以及会话,可以选择某一项操作

#xiaoshangwu 20150716

setup_select()
{
 clear
cat << menu
 +++++++++ SHOW MYSQL STATUS ++++++++++ 
         
          1. show mysql qps_3306
          2. show mysql processlist
          3. show mysql qps_3307
          Q. quit
  +++++++++++++++++++++++++++++++++++++++++++++
menu
echo -e -n " Please Select [1,2,3,Q] > "
}
###########################################################
amp_setup()
{
        setup_select
        read select

        case $select in               
        1)
           /usr/bin/mysqladmin -P3306 -uroot -p -h 172.16.115.51 -r -i 1 extended-status |awk -F "|" 'BEGIN { count=0; } { if($2 ~ /Variable_name/ && ++count%15 == 1){print "----------|---------|--- MySQL Command Status --|----- Innodb row operation -----|-- Buffer Pool Read --";    print "---Time---|---QPS---|select insert update delete|   read inserted updated deleted|   logical    physical";} else if ($2 ~ /Queries/){queries=$3;} else if ($2 ~ /Com_select /){com_select=$3;} else if ($2 ~ /Com_insert /){com_insert=$3;} else if ($2 ~ /Com_update /){com_update=$3;} else if ($2 ~ /Com_delete /){com_delete=$3;} else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;} else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;} else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;} else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;} else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;} else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;} else if ($2 ~ /Uptime / && count >= 2){  printf(" %s |%9d",strftime("%H:%M:%S"),queries);printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);printf("|%8d %7d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted); printf("|%10d %11d\n",innodb_lor,innodb_phr);}}'
                amp_setup
              ;;
        2)


                /usr/bin/mysqladmin -P3306 -uroot -p -h 172.16.115.51  pr|grep -iv sleep
          sleep 10    
                amp_setup
              ;;   
    3)
        
/usr/bin/mysqladmin -P3307 -uroot -p -S /data/mysql/dbdata/mysql.sock  -r -i 1 extended-status |awk -F "|" 'BEGIN { count=0; } { if($2 ~ /Variable_name/ && ++count%15 == 1){print "----------|---------|--- MySQL Command Status --|----- Innodb row operation -----|-- Buffer Pool Read --";    print "---Time---|---QPS---|select insert update delete|   read insertedupdated deleted|   logical    physical";} else if ($2 ~ /Queries/){queries=$3;} else if ($2 ~ /Com_select /){com_select=$3;} else if ($2 ~ /Com_insert /){com_insert=$3;} else if ($2 ~ /Com_update /){com_update=$3;} else if ($2 ~ /Com_delete /){com_delete=$3;} else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;} else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;} else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;} else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;} else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;} else if ($2 ~ /Uptime / && count >= 2){  printf(" %s |%9d",strftime("%H:%M:%S"),queries);printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);printf("|%8d %7d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted); printf("|%10d %11d\n",innodb_lor,innodb_phr);}}'
        amp_setup
        ;;
        Q|q) 
                exit 0
               ;;
            *) 
                amp_setup
               ;;
 esac
}

start_menu()
{
amp_setup
}
start_menu

 

posted @ 2016-12-14 15:31  一头猪的奇妙旅行  阅读(437)  评论(0编辑  收藏  举报