热门标签 | 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》 


推荐阅读
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 深入解析Spring Cloud微服务架构与分布式系统实战
    本文详细介绍了Spring Cloud在微服务架构和分布式系统中的应用,结合实际案例和最新技术,帮助读者全面掌握微服务的实现与优化。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 本文探讨了SSDP(简单服务发现协议)和WSD(Web服务发现)协议,特别是SSDP如何通过固定多播地址239.255.255.250:1900实现局域网内的服务自发现功能。文中还详细介绍了SSDP协议的关键操作类型及其应用场景。 ... [详细]
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社区 版权所有