zoukankan      html  css  js  c++  java
  • zabbix监控Mysql中的QPS/TPS

    今天我们来了解一下如何通过zabbix监控来监控我们msyql数据库中的TPS和QPS,提到这两个概念,我们先来了解究竟什么是QPS,TPS呢?它们是如何计算得到的呢?我们来看一下

    QPS(Questions Per second:):每秒查询处理量,表示每秒能处理多少次请求,这里是指是Mysql每秒处理查询数,同时适用于InnoDB和MysqlSAM引擎

    如何计算得到呢并计算QPS呢?

    很简单,通过"msyqladmin status" 就是先获取到Questions和uptime对应的数值,随后通过Questions/Uptime即可获取

    question=mysqladmin status |awk '{print $6}

    uptime= mysqladmin status |awk '{print $2}'

    QPS=question/uptime

    TPS(Transactions Per Second)

    每秒处理事务数,简单的来说就是数据库传输事务处理个数,这是指单台数据库服务器在单位时间内处理的事务的个数。 ,支持事务的存储引擎如InnoDB等特性指标

    基于com_commit和com_rollback相加并除以uptim计算出TPS

    rollback=mysqladmin extended-status | awk '/<Com_rollback>/{print $4}'
    commit=mysqladmin extended-status | awk '/<Com_commit>/{print $4}'

    tps=(com_rollback+com_commit)/uptime

    ok~知道如何计算QPS和TPS之后,就好办了,我们将其写成脚本,在这里直接用shell即可

    # mkdir /usr/local/zabbix/script -p

    vim /usr/local/zabbix/script/monitor.sh 

    #!/bin/bash
    #Script time:2018-07-30
    #Contact information Email:m18810455501@163.com
    Uptime=`mysqladmin status | awk '{print $2}'`
    QPS() {
     Questions=`mysqladmin status | awk '{print $6}'`
     awk 'BEGIN{printf "%.2f
    ",'$Questions'/'$Uptime'}'
    }
    #TPS
    TPS() {
     rollback=`mysqladmin extended-status | awk '/<Com_rollback>/{print $4}'`
     commit=`mysqladmin extended-status | awk '/<Com_commit>/{print $4}'`
     awk 'BEGIN{printf "%.2f
    ",'$(($rollback+$commit))'/'$Uptime'}'
    }
    $1

    # chmod 755 -R /usr/local/zabbix/script/monitor.sh 

    # vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/performance.conf

    UserParameter=mysql.status[*],/usr/local/zabbix/script/monitor.sh "$1"

    # egrep -v "#|^$" /usr/local/zabbix/etc/zabbix_agentd.conf   #zabbix-agent配置如下

    LogFile=/tmp/zabbix_agentd.log
    Server=192.168.2.129
    ServerActive=192.168.2.129
    Hostname=192.168.2.144
    Timeout=8
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/performance.conf

    Server端测试:可以获取key值

    【添加监控项】

    上述便是QPS和TPS监控值状态,因为是自己测试,没有太多事务查询和事务处理量,所以,监控值很小

    思路总结:

    1)首先我们的zabbix是没有监控mysql这些性能指标的,因此我们要自定义,我们要通过mysql status获取到Quetions和uptime的的数值计算出QPS,随后我们在获取commit和rollback的的数值相加在除以uptime的的时间值,这样既能获取QPS和TPS的每秒事务查询数和处理数

    2)写入脚本定义在key值(在UserParameter中定义)

    3)模板创建

  • 相关阅读:
    数据中的悖论
    Exchange server2007自动发现服务(Auto discover service)原理及调试
    Exchange 2007 安装完后需要注意的几件事情
    有感
    Exchange Server 2007 LCR小试
    【转】Vmware ESX 3.0出现“error connecting: can not connect to host x.x.x.x: a connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed……的解决方法
    学习Exchange的几个站点
    在Exchange server 2007中启用pop3和IMAP4协议访问
    Exchange server 2007环境下,outlook2007同步脱机地址簿时出现“0x80190194”错误的分析与解决方法
    安装isa2006后加入域提示“RPC服务器不可用”
  • 原文地址:https://www.cnblogs.com/bixiaoyu/p/9389554.html
Copyright © 2011-2022 走看看