zoukankan      html  css  js  c++  java
  • 数据库的监控

    1、对数据库服务可用性进行监控
    数据库的进程或是端口存在并不意味着数据库就是可用的,可以通过网络连接到数据库并且确定数据库是可以对外提供服务的
    如何确认数据库是否可以通过网络连接
    1)mysqladmin -umonitor_user -p -h ping
    2)telnet ip db_port
    3)使用程序通过网络简历数据库连接
    如何确认数据库是否可读写
    1)检查数据的read_only参数是否为off
    2)建立监控表并对表中数据进行更改
    3)执行简单的查询 select @@version
    如何监控数据的连接数
    show variables like 'max_connections'
    show global status like 'Threads_connected'
    Threads_connected / max_connections > 0.8


    2、对数据库性能进行监控
    如何计算QTS和TPS
    QTS=(Queries-Queries1)/(Uptime_since_flush_status2-Uptime_since_flush_status1)
    TPS=((Com_insert2+Com_update2+Com_delete2)-(Com_insert1+Com_update1+Com_delete1))/(Uptime_since_flush_status2-Uptime_since_flush_status1)
    并发线程数量(并发线程数据不等于数据库的连接数,是同时处理数据库sql的数量)
    如何监控数据库的并发请求数量
    数据库系统的性能会随着并发处理请求数量的增加而下降
    show global status like 'Threads_running'
    并发处理的数量通常会远小于同一时间连接到数据库的线程的数量
    如何对Innodb阻塞和死锁进行监控
    SELECT b.trx_mysql_thread_id AS '被阻塞线程'
    ,b.trx_query AS '被阻塞sql'
    ,c.trx_mysql_thread_id AS '阻塞线程'
    ,c.trx_query AS '阻塞sql'
    FROM information_schema.`INNODB_LOCK_WAITS` a
    JOIN information_schema.`INNODB_TRX` b ON a.requesting_trx_id=b.trx_id
    JOIN information_schema.`INNODB_TRX` c ON a.blocking_trx_id=c.trx_id
    WHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))>60;
    BEGIN;
    SELECT * FROM USER FOR UPDATE;


    3、对主从复制进行监控
    主从复制链路状态的监控
    主从复制延迟的监控
    定期的确认主从复制的数据是否一致
    1)主上的二进制日志文件名和偏移量
    show master status G
    show slave status
    2)已经传输完成的主上二进制日志的名称和偏移量


    4、对服务器资源的监控
    磁盘空间(服务器磁盘空间大并不意味着Mysql数据库服务能使用的空间就足够大)
    CPU的使用情况,内存的使用情况,Swap分区的使用情况以及网络IO的情况等

  • 相关阅读:
    游泳池 (Standard IO)
    Antimonotonicity (Standard IO)
    开花 (Standard IO)
    Wild Number (Standard IO)
    数码问题 (Standard IO)
    输油管道 (Standard IO)
    猴子摘桃 (Standard IO)
    二叉树 (Standard IO)
    iis运行asp.net页面提示“服务器应用程序不可用”的解决办法_.NET.
    SVN安装配置与使用
  • 原文地址:https://www.cnblogs.com/2661314cn/p/12546271.html
Copyright © 2011-2022 走看看