热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

性能测试系列第四十三讲:深入解析数据库监控关键指标

本文由编程笔记#小编为大家整理,主要介绍了性能测试四十三:数据库监控的指标相关的知识,希望对你有一定的参考价值。 mysql结构简介  1,慢查询  查看某个变量的值,一般是看配置
本文由编程笔记#小编为大家整理,主要介绍了性能测试四十三:数据库监控的指标相关的知识,希望对你有一定的参考价值。


mysql结构简介 

技术图片

 

1,慢查询
  查看某个变量的值,一般是看配置:show variables like ‘%slow%‘;
  查看当前某个参数的状态值,一般是动态的,而且是在命令行下查看:show global status like ‘%long_query%‘;

技术图片

  使用配置查看:具体配置在上上篇里面讲了,使用命令:mysqldumpslow -s at 10 slow.log

2,连接数
  查看当前mysql里面配置的连接数:show variables like ‘%connections%‘;

  max_connections:整个MySql允许的最大连接数

技术图片

  查看当前连接数:show status like ‘%thread%‘;

其中:
  Threads_connected 当前打开的连接的数量
  Threads_cached 线程缓存内的线程的数量 
  Threads_created 创建的线程数 
  Threads_running 激活的(非睡眠状态)线程数 

技术图片


show status like ‘%connection%‘;
Connections 试图连接MySQL服务器的次数

技术图片

 


3,缓冲池(作用类似于Redis,缓存的是数据)
  查看缓冲池的大小(在不影响其他的情况下能配多大配多大):show variables like ‘%buffer_pool_size%‘;

技术图片

  查看当前缓冲池里面的状态值:show status like ‘%buffer%‘;

其中:
  Innodb_buffer_pool_reads:缓冲池中没有读到数据,而从磁盘内读取的次数
  Innodb_buffer_pool_read_requests:来缓冲池中读数据的次数
  Innodb_buffer_pool_pages_total:缓冲池的总页数(内存是以页为单位)
  Innodb_buffer_pool_pages_free:缓冲池中处于空闲状态的页数

命中率:innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100%

技术图片


4,查询缓存 (缓存的是sql语句)
  show variables like ‘%query_cache%‘;
  show status like ‘%Qcache%‘;
  命中率:Query_cache_hits=(Qcache_hits/(Qcache_hits+Qcache_inserts))*100%

技术图片

 

5,线程缓存(连接池)
  show variables like ‘%thread%‘;
  show status like ‘connections‘;
  show status like ‘%thread%‘;
  Threads_Cache_Hit=(Connections-Threads_created)/Connections*100%

6,表锁和行锁 (若没有锁,如果有人在更新数据,此时有人又在查询数据,这个时候查出来的数据不正确)
  show status like ‘%lock%‘;
  存储引擎:早期mysql用的,MyISAM,现在都用Innodb
  MyISAM:支持表锁
  Innodb:支持行锁、支持事务

详见《高性能mysql》 


推荐阅读
author-avatar
指尖的烟味让我清醒7758_371
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有