黑帽联盟

标题: MySQL实时统计脚本-计算QPS,TPS和线程连接数等 [打印本页]

作者: yun    时间: 2017-2-1 14:32
标题: MySQL实时统计脚本-计算QPS,TPS和线程连接数等
MySQL系统本身提供很多状态信息,很多时候我们只关心其中一部分数据信息,如TPS、QPS、连接数等
  1. #!/bin/bash

  2. mysqladmin -uroot -p'123123' extended-status -i1|awk 'BEGIN{local_switch=0;print "QPS   Commit Rollback   TPS    Threads_con Threads_run \n------------------------------------------------------- "}

  3.      $2 ~ /Queries$/            {q=$4-lq;lq=$4;}

  4.      $2 ~ /Com_commit$/         {c=$4-lc;lc=$4;}

  5.      $2 ~ /Com_rollback$/       {r=$4-lr;lr=$4;}

  6.      $2 ~ /Threads_connected$/  {tc=$4;}

  7.      $2 ~ /Threads_running$/    {tr=$4;

  8.         if(local_switch==0)

  9.                 {local_switch=1; count=0}

  10.         else {

  11.                 if(count>10)

  12.                         {count=0;print "------------------------------------------------------- \nQPS   Commit Rollback   TPS    Threads_con Threads_run \n------------------------------------------------------- ";}

  13.                 else{

  14.                         count+=1;

  15.                         printf "%-6d %-8d %-7d %-8d %-10d %d \n", q,c,r,c+r,tc,tr;

  16.                 }

  17.         }

  18. }'
复制代码
QPS:每秒的查询数
TPS:每秒的事物量(commit与rollback的之和)
通过mysqladmin间隔读取mysql的status信息,计算差值,得出统计信息。

--结果示例
mysql查询




欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5