设为首页 加入收藏

TOP

MySQL数据库的监控性能指标、Oracle主要的性能指标介绍(一)
2017-11-24 10:48:50 】 浏览:296
Tags:MySQL 数据库 监控 性能 指标 Oracle 主要 介绍

MySQL主要的性能指标

1、当前线程连接数

mysql> show global status like 'threads_%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 30 |
| Threads_connected | 65 |
| Threads_created | 3779 |
| Threads_running | 2 |
+-------------------+-------+

Threads_cached:当前此时此刻线程缓存中有多少空闲线程

Threads_connected:代表当前已建立连接的数量,因为一个连接需要一个线程,也可以看成当前被使用的线程数

Threads_created:代表从最近一次服务启动,已经创建线程的数量

Threads_running:代表当前激活(非睡眠)的线程数

2、连接数和最大连接数

mysql> show global status like '%connections';
+-----------------------------------+--------+
| Variable_name | Value |
+-----------------------------------+--------+
| Connection_errors_max_connections | 0 |
| Connections | 146049 |
| Max_used_connections | 197 |
+-----------------------------------+--------+

Connections:试图连接到MySQL服务器的连接数

Max_used_connections:服务器启动后已经同时使用的连接的最大数量(这个是连接的最大峰值,主要和参数max_connections(目前使用1000)对比来决定是否调整参数)

线程缓存命中率=1-Threads_created/Connections

3、连接失败的线程

mysql> show global status like '%abort%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| Aborted_clients | 4863 |
| Aborted_connects | 62915 |
+------------------+-------+

Aborted_clients:当ablort clients增大的时候意味着有客户端成功建立连接,但是很快就断开连接或者被终止了,这种情况一般发生在网络不稳定的环境中

a)客户端没有主动关闭mysql连接mysql_close()
b)wait_timeout设置很短被mysql干掉了
c)客户端由于某些原因被干掉了,异常终止

Aborted_connects:当有大量的链接连接不上mysql的时候,这个数值就会激增

a)没有授权或者密码不对。一般错误日志中会有如下报错(Access denied for ‘user’@‘host’)
b)连接数满了。一般报错包含(too many connections)
c)超过链接时间限制,主要有这个参数控制connect_timeout(mysql默认是10s,基本除非网络环境极端不好,一般不会超时。)

4、QPS(每秒Query数,针对于innodb存储引擎)

Com_xxx表示每个具体类型语句执行的次数

Com_select:select执行次数

Com_insert:insert执行次数

Com_update:update执行次数

Com_delete:delete执行次数

。。。。。。

取的一段时间的增量,然后除以这段时间

QPS=(Com_select+Com_insert+Com_update+Com_delete)/时间

5、TPS(每秒事务数,针对于innodb存储引擎)

Com_commit:提交的执行次数

Com_rollback:回滚的执行次数

取的一段时间的增量,然后除以这段时间

TPS=(Com_commit+Com_rollback)/时间

6、锁相关的状态量

表级别的锁情况--宏观大体

mysql> show global status like '%table_lock%';
+-----------------------+----------+
| Variable_name | Value |
+-----------------------+----------+
| Table_locks_immediate | 33106539 |
| Table_locks_waited | 28 |
+-----------------------+----------+

Table_locks_immediate:指的是能够立即获得表级锁的次数

Table_locks_waited:指的是不能立即获取表级锁而需要等待的次数,如果这个值比较高或者正在增加,那么表明存在严重的并发瓶颈,需要降低表级锁的调用频率

行级别的锁情况--宏观大体

mysql> show global status like '%innodb_row_lock%';\
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| Innodb_row_lock_current_waits | 0 |
| Innodb_row_lock_time | 19524 |
| Innodb_row_lock_time_avg | 16 |
| Innodb_row_lock_time_max | 3288 |
| Innodb_row_lock_waits | 1151 |
+-------------------------------+-------+

Innodb_row_lock_time:行锁定花费的总时间,单位毫秒

Innodb_row_lock_time_avg:行锁定的平均时间,单位毫秒

Innodb_row_lock_time_max:行锁定的最长时间,单位毫秒

Innodb_row_lock_waits:总共等待的次数

7、慢查询次数相关的状态量

mysql> show global status like '%slow_queries%';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| Slow_queries | 1616911 |
+---------------+---------+

mysql自启动以来,超过long_query_time(慢查询阈值时间)的次数,然后主要是后续观察分析慢查询日志得出系统的哪些sql语句存在优化空间(数据库系统优化的主要参考)

8、日志相关的状态量

二进制日志binlog

mysql> show global status like '%binlo

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇统计某个字段中各个字符出现的次.. 下一篇sqlite产生正确row_number的方法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目