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的话,表明 innodblog buffer 因为空间不足而等待

(13)open file and table

mysql> mysql -e "show global statuslike 'Open_files';
mysql> mysql -e "show global statuslike 'Open_tables';

(14) 慢查询

开启慢查询:

         编辑/etc/my.cnf,在[mysqld]域中添加:
         slow_query_log= 1   # 开启慢查询
         slow_query_log_file=/data/mysql/slow.log   # 慢查询日志路径
         long_query_time= 1        # 慢查询的时长

查看慢查询数量:

执行mysqladminstatus

(15)全日志

查看全日志:

  show global variables like 'general_log';

开启全日志:

    set global general_log=on;

注意开启全日志会消耗服务器性能,一般只有在排查问题时才会短暂打开。


我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后,根据服务器的”状态”再进行优化。

原文发布于微信公众号 - MYSQL轻松学(learnmysql)

原文发表时间:2016-08-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java进阶架构师

「mysql优化专题」什么是慢查询?如何通过慢查询日志优化?(10)

日志就跟人们写的日记一样,记录着过往的事情。但是人的日记是主观的(记自己想记的内容),而数据库的日志是客观的,根据记录内容分为以下好几种日志:

773
来自专栏鬼谷君

mysql 5.7主从安装和配置

1014
来自专栏扎心了老铁

redis事务

本文记录一些redis事务相关的原理。 1、基本概念 1)什么是redis的事务? 简单理解,可以认为redis事务是一些列redis命令的集合,并且有如下两个...

2634
来自专栏idba

MetaData Lock 之一

一 简介 和MySQL打交道比较多的朋友,肯定遇到过 "Waiting for table metadata lock"或者由于MDL导致的故障,不过本文介绍...

624
来自专栏散尽浮华

Mysql优化系列(1)--Innodb引擎下mysql自身配置优化

1.简单介绍 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一...

3235
来自专栏小怪聊职场

MySQL(六)|《千万级大数据查询优化》第二篇:查询性能优化(2)

2589
来自专栏腾讯云数据库(TencentDB)

腾讯云 CDB : 深入解析 MySQL binlog

本文简要介绍 binlog 原理及其在恢复、复制中的使用方法。

2.1K11
来自专栏java一日一条

理解MySQL——复制(Replication)

1、复制概述 1.1、复制解决的问题 数据复制技术有以下一些特点: (1) 数据分布 (2) 负载平衡(load balancing) (3) ...

453
来自专栏JAVA高级架构

优化 MySQL: 3 个简单的小调整

我并不期望成为一个专家级的 DBA,但是,在我优化 MySQL 时,我推崇 80/20 原则,明确说就是通过简单的调整一些配置,你可以压榨出高达 80% 的性能...

3246
来自专栏吴生的专栏

Mysql数据库主从心得整理

管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验...

3386

扫码关注云+社区