mysql 状态监控

运行中的mysql状态查看

对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态。

(1)QPS(每秒Query量)

QPS = Questions(or Queries) / seconds

mysql > show  global  status like ‘Question%‘;

(2)TPS(每秒事务量)

TPS = (Com_commit + Com_rollback) / seconds

mysql > show global status like ‘Com_commit‘;

mysql > show global status like ‘Com_rollback‘;

(3)key Buffer 命中率

mysql>show  global   status  like   ‘key%‘;

key_buffer_read_hits = (1-key_reads / key_read_requests) * 100%

key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%

(4)InnoDB Buffer命中率

mysql> show status like ‘innodb_buffer_pool_read%‘;

innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%

(5)Query Cache命中率

mysql> show status like ‘Qcache%‘;

Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%;

(6)Table Cache状态量

mysql> show global  status like ‘open%‘;

比较 open_tables  与 opend_tables 值

(7)Thread Cache 命中率

mysql> show global status like ‘Thread%‘;

mysql> show global status like ‘Connections‘;

Thread_cache_hits = (1 - Threads_created / connections ) * 100%

(8)锁定状态

mysql> show global  status like ‘%lock%‘;

Table_locks_waited/Table_locks_immediate=0.3%  如果这个比值比较大的话,说明表锁造成的阻塞比较严重

Innodb_row_lock_waits innodb行锁,太大可能是间隙锁造成的

(9)复制延时量

mysql > show slave status

查看延时时间

(10) Tmp Table 状况(临时表状况)

mysql > show status like ‘Create_tmp%‘;

Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大,

可能是排序句子过多或者是连接句子不够优化

(11) Binlog Cache 使用状况

mysql > show status like ‘Binlog_cache%‘;

如果Binlog_cache_disk_use值不为0 ,可能需要调大 binlog_cache_size大小

(12) Innodb_log_waits 量

mysql > show status like ‘innodb_log_waits‘;

Innodb_log_waits值不等于0的话,表明 innodb log  buffer 因为空间不足而等待

比如命令:

>#show global status;

虽然可以使用:

>#show global status like %...%;

来过滤,但是对应长长的list,每一项都代表什么意思,还是有必要弄清楚。

时间: 2024-07-29 18:19:49

mysql 状态监控的相关文章

mysql状态监控脚本示例(1)

1.获取mysql的性能参量,并且进行判断是否警告 #!/bin/bash #定义变量 v_username='mysql' v_datetime=`date +"%Y-%m-%d %H:%M:%S"` v_hostname=`hostname` v_ip=`/sbin/ifconfig bond2|grep 'inet addr'|awk '{print $2}'|cut -d: -f2` MY_user="root" MY_pwd=*** MY_base=`ps

实时监控MySql状态

大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞出来了,效果如下 可以实时查看mysql打开的table数,文件数,正在执行,已经创建,已经连接的线程数,锁,查询缓存,表扫描相关的计数器,以及已经完成的select,insert, delete, update的sql数等,总之Mysql的各种状态一览无余. 具体各个指标的意思参考如下链接: ht

haproxy的web服务负载均衡、动静分离、 MySQL服务负载均衡、状态监控

实验环境:基于centos6.6 haproxy-Server:172.16.249.98  hostname:node1 upsteram server1:172.16.249.100 hostname:node2 upstream server2:172.16.249.99  hostname:node3 web服务的负载均衡以及状态监控: 设置记录haproxy日志的文件位置: node1: #vim /etc/rsyslog.conf (1)启用UDP: # Provides UDP s

Zabbix添加自定义监控项之(监控mysql状态)

一.实验环境 Zabbixserver    192.168.1.103    版本:V3.0.4 ZabbixAgent    192.168.1.128 Mysql       192.168.1.102 二.监控需求 监控mysql的状态,当状态发生异常,发出报警 三.mysql添加监控监控脚本 3.1.使用mysqladmin工具来检测mysql状态 [email protected]:~# mysqladmin -uroot -p1qaz#EDC ping 说明:如果MySQL状态正常

Mysql主从状态监控脚本

目标:对Mysql从库进行状态监控,如果从库复制异常就告警 思路: 1.首先查找Mysql从库的4个参数值(show slave status根据这个命令):分别是从库的IO线程.SQL线程.复制延迟时间(这个在以下脚本没用到,可以再写个脚本对其延迟进行告警).错误码 2.函数Mysql_status判断,对IO线程.SQL线程.错误码三者逻辑与判断 3.如果为假则执行函数Mysql_Errno 4.对于mysql错误码为1158 1159 1008 1007 1062 我们可以进行停止slav

Zabbix 监控 Mysql 状态

简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 Key > Configuration -> Templates ## 在此模板页中,可以看到 Template App MySQL 模板中有 14 个 Items ,我们需要自己写脚本获取这 14 个值 ## 分别是:Com_select.Com_insert .Com_update .Com

ZABBIX最全MYSQL自定义监控多实例mysql与主从复制状态没有之一

我们首先要提取你服务器上有多少mysql实例提取方法如下: #!/usr/bin/env pythonimport osimport jsont=os.popen("""sudo netstat -nltp|grep -w "mysqld"|grep -w "LISTEN"|grep -v grep|grep -v '^$'|awk -F: '{print $4}'""")s=os.popen("

Linx监控分享--网络状态监控+邮件提醒

网络状态监控 网络状态:netstat 各个状态的总计,详情:以及重点端口的详细连接情况(22,25,80,3306,8080),打印客户端连接数最多的ip. 邮件报告当前状态. 在手机上安装网易的邮件客户端,就可以达到实时提醒的效果. 关于mail的配置,见之前的文章:http://blog.csdn.net/rookie_ceo/article/details/46559195 #!/bin/sh source /etc/profile IP=`/sbin/ifconfig|sed -n '

MySql:监控及优化

1.mysql的生命周期 ①MySql服务器监听3306端口 ②验证访问用户 ③创建mysql线程 ④检查内存(Qcache) ⑤解析sql ⑥生成查询计划 ⑦打开表 ⑧检查内存(Buffer Pool) ⑨到磁盘取数据 ⑩写入内存 ①①返回数据给客户端 ①②关闭表 ①③关闭线程 ①④关闭连接 2.mysql配置 linux下两种进入mysql的方式: ①设置别名 ②将mysql的/opt/lampp/bin/目录加入环境变量 ③让设置的别名永久生效 vi ~/.bashrc alias my=