实时获取MySQL的TPS、QPS(输出到屏幕)

这个脚本挺好用的,例如我们在主库执行了一个大事务,结果导致从库的show slave status\G 一直卡在 system lock状态,我们用下面这个脚本就能知道到底是hang住了,还是只是执行缓慢(反应在脚本执行结果里面就是qps\tps是不停变动的)。

当然,从库一直处于system lock 状态,一般是因为我们从库也设置双1导致,只要临时将双1改掉即可很快解决掉slave lag的问题。

脚本如下:

#!/bin/bash

# 每秒钟获取一次MySQL运行的TPS、QPS,直接输出到屏幕

# Date: 2017/03/25

#

source /etc/profile

USER=’root’

PASSWD=’123456′

if ! mysqladmin -u $USER -p$PASSWD ping > /dev/null 2>&1 ; then

exit 10

else

mysqladmin -u$USER -p$PASSWD 2>/dev/null 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;

               }

       }

}’

fi

原创文章,作者:lirulei,如若转载,请注明出处:http://www.178linux.com/74876

(6)
liruleilirulei
上一篇 2017-05-07 10:03
下一篇 2017-05-07 11:24

相关推荐

  • Python函数式编程指南(二):函数

    这是此系列的第二篇,试图说明在Python中如何更好地使用函数并引导诸位使用函数式的思维进行思考。掌握并应用这些内容,就已经是至少形似的函数式风格的代码了,至于思维么,这个真靠自己。 作者水平有限,如有错漏之处还请指出;转载请注明原作者和原地址:) 2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: def add(x, y): return…

    Linux干货 2015-03-11
  • 内置数据结构,列表及其方法

    List:列表有若干个元素,元素可以是任意对象,元素有顺序,可以使用索引和迭代,使用线性结构,使用[ ]进行描述,在内存中的空间是连续的,每个元素在内存中的空间是一样的………列表是可变的,列表不能一开始就定义大小,列表索引不可以超界   列表索引l.index(),从左向右搜索,发现第一个匹配的,自动返回搜索的值的索引;匹配不到,抛出异常Value…

    Linux干货 2018-03-25
  • Linux终端类型

    适用对象:本文适用于初学Linux以及有志于学习Linux的朋友们。   一、         什么是终端 计算机体系中,终端主要是指与计算机连接,并可以与用户(人类)进行交互的设备。 二、      &nbs…

    Linux干货 2016-10-14
  • 从Linux小白到大牛——与狼共舞的日子2

    马哥教育网络班21期+第2周课程练习 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp:copy,复制文件 cp SRC DEST   SRC为文件     如果目录不存在:新建DEST,并将SRC中内容填充至DEST中     如果目…

    Linux干货 2016-07-17
  • Nginx反向代理、负载均衡的实现

    概述:     上篇介绍了Nginx作为web服务器的一些常用配置的说明,但是在实际生产环境中,Nginx更多是作为前端的负载均衡器,反代前端用户请求到后端真实的web服务器上,完成LNAMP的组合的方式存在。本篇就介绍一些Nginx作为http的反向代理和前端负载均衡调度器的一些常用配置,具体包括:  &n…

    Linux干货 2016-11-01
  • 0803权限管理作业练习

    0803权限管理作业练习 题目:创建组sales,gid 3000,passwd :centos,sales 的组管理员admins:user2 将用户user1,user2,user3加入到sales辅助组 希望user1创建新文件默认的所属组为sales user2将用户user3从sales组移除   答案:   &nbs…

    Linux干货 2016-08-05