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 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

【干货】大数据量下,58同城mysql实践!

WOT(World Of Tech)2015,互联网运维与开发者大会将在北京举行,会上58同城将分享《大数据量下,58同城mysql实战》的主题,干货分享抢先看...

2479
来自专栏人工智能LeadAI

ElasticSearch优化系列三:索引过程

大家可能会遇到索引数据比较慢的过程。其实明白索引的原理就可以有针对性的进行优化。ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用...

3889
来自专栏测试开发架构之路

爬取数据入门指南

1683
来自专栏企鹅号快讯

Django数据从sqlite迁移数据到MySQL

昨天快速搭建了一套自己的知识库 感觉一下子有了很多的事情要做,至少得让自己用得舒服些。 没想到有了这个小工具之后,我发现我之前过得真是刀耕火种的信息收集。为什么...

4126
来自专栏数据和云

量化的Oracle世界

Oracle数据库最为复杂的部分是优化器算法,在进行SQL解析的过程中,Oracle将一切都通过数字进行量化,然后评估比对,最后进行选择。在版本更新中,往往这部...

2716
来自专栏杨建荣的学习笔记

Django数据从sqlite迁移数据到MySQL

昨天快速搭建了一套自己的知识库:使用Django基础模板搭建自己的知识库 感觉一下子有了很多的事情要做,至少得让自己用得舒服些。 没想到有了这个小工具之后,我发...

3703
来自专栏张善友的专栏

SQLite vs MySQL vs PostgreSQL:关系型数据库比较

自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛。面对如此之多的关系型数据...

2285
来自专栏杨建荣的学习笔记

通过Snapshot Standby来精确评估SQL性能 (r9笔记第73天)

最近处理了一个需求,比较紧急,映射到数据库层面是需要更新17万id的值,听起来是不少,根据数据架构进行了分析,发现目前是做了分库分表的方式,所以这17万的id在...

3113
来自专栏架构师之路

InnoDB行锁,如何锁住一条不存在的记录?

《InnoDB,5项最佳实践,知其所以然?》发布后,不少同学留言希望讲讲MySQL的InnoDB行锁机制。要细聊MySQL的行锁,难以避免的要从事务的四种隔离级...

1363
来自专栏杨建荣的学习笔记

物化视图自动刷新的碰壁(r7笔记第61天)

今天和开发的同事讨论一个问题,他们说source 1的环境中存在一个表,现在希望目标环境target 1和target 2中都需要用到这部分的数据。 ? 对...

3574

扫码关注云+社区