MySQL · 最佳实践 · 什么时候该升级内存规格

简介: 前言在平时的工作中,会碰到用户想升级规格的case,有一些其实是没有必要的,这些通过优化设计或者改写SQL语句,或者加加索引可以达到不升级的效果,而有一些确实是需要升级规格的,比如今天讲的case。追根溯源查看表结构和索引通过CloudDBA 的SQL统计功能,发现SQL比较简单,也有索引,所以排除是这两方面设计的问题。查看实例性能数据innodb_buffer_pool命

前言

在平时的工作中,会碰到用户想升级规格的case,有一些其实是没有必要的,这些通过优化设计或者改写SQL语句,或者加加索引可以达到不升级的效果,而有一些确实是需要升级规格的,比如今天讲的case。

追根溯源

查看表结构和索引

通过CloudDBA 的SQL统计功能,发现SQL比较简单,也有索引,所以排除是这两方面设计的问题。

查看实例性能数据

image.png

innodb_buffer_pool命中率还不到99%,命中率不高的,而iowait>=2略微高,所以推测是命中率不高,导致数据在内存里换进换出导致。

image.png

系统层面io对列里面已经有少量的堆积;

查看内存内容

通过查看内存里面的数据和索引的大小,可以看到:

+--------+--------+---------+---------+---------+------------+---------+
| engine | TABLES | rows    | DATA    | idx     | total_size | idxfrac |
+--------+--------+---------+---------+---------+------------+---------+
| InnoDB |  11274 | 899.60M | 247.21G | 187.56G | 434.77G    |    0.76 |
+--------+--------+---------+---------+---------+------------+---------+

数据和索引已经将近440G,而BP却还是1G,更加可以印证上面的推测(数据在内存里面被频繁的换进换出)。
再来验证下:

image.png

过十多分钟再看,BP里面的内容已经不一样了:

image.png

查看实例是如何用的

通过上一步我们可以发现,整个实例的空间是400G+,qps,tps都很低,逻辑读不算高,为什么BP命中率会这么低呢?
通过

mysql>show global variables like "%buffer_pool%";

看到innodb_buffer_pool才1G,所有问题都已经明朗,那么如何解这个问题呢?

解决问题

我们再进一步看这个实例下面其实是有几十个库的,解决这个问题有两种方法:
1. 直接升级整个实例规格
2. 拆库

这么大的磁盘空间,又这么低的tps,所以我推荐第2种方法,拆分后其实也相当于变相地达到了升级实例规格的目的。把大实例拆成小实例后,再来看下对比:

image.png

结言

这个case是真正申请的内存规格小了些,所以这个是需要升级内存规格的。
一些小技巧,起到大作用,欢迎使用我们的经验沉淀下来的产品,您随叫随到的数据库专家CloudDBA

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 自然语言处理 关系型数据库
MySQL · 源码分析 · 词法分析及其性能优化
Table of Contents 1. 简介 2. 背景知识 3. 查找树的实现 3.1. 树的查找 3.2. 树的产生 4. 试试折半查找 5. 总结 简介 MySQL 支持标准的 SQL 语言,具体实现的时候必然要涉及到词法分析和语法分析。早期的程序可能会优先考虑手工实现词法分析和语法分析,现在大多数场合下都会采用工具来简化实现。MySQL、PostgreSQL 等
9350 0
|
SQL 关系型数据库 数据库
MySQL · 社区动态 · Online DDL 工具 gh-ost 支持阿里云 RDS
背景 Online DDL 一直都是 DBA 运维时比较头疼的事,一般都会选择在业务低峰期谨慎的操作,比较常用的几个工具比如 percona pt-online-schema-change , Facebook OSC, 本质上它们都是基于触发器的,简单来讲就是通过数据库的触发器把作用在源表的操作在一个事务内同步到修改后的表中,这在业务高峰期时会极大的加重主库的负载。
5764 0
|
存储 关系型数据库 OLAP
PgSQL · 应用案例 · PostgreSQL OLAP加速技术之向量计算
背景 在主流的OLTP数据库产品中,毫无疑问,PostgreSQL已经具备非常强大的竞争力(性能、功能、稳定性、成熟度、案例、跨行业应用等)。 通过这些文章我们可以了解更细致的情况。 《数据库十八摸 - 致 架构师、开发者》 《数据库界的华山论剑 tpc.org》 《PostgreSQL 前世今生》 在OLAP领域,PostgreSQL社区也是豪情万丈的,比如内核已经实现了基于CPU的多
8521 0
|
MySQL 关系型数据库 内存技术
MySQL · 新特性分析 · CTE执行过程与实现原理
众所周知,Common table expression(CTE)是在大多数的关系型数据库里都存在的特性,包括ORACLE, SQLSERVER,POSTGRESQL等,唯独开源数据库老大MySQL缺失。CTE作为一个方便用户使用的功能,原本是可以利用普通的SQL语句替代的,但是对于复杂的CTE来说,要模拟出CTE的效果还是需要很大的功夫。如果考虑性能那就更是难上加难了。2013年Guilhem
4685 1
|
数据可视化 大数据 数据管理
带你读《数据资产》第二章数据资产的相关概念2.4 大数据时代的到来和兴起(一)
带你读《数据资产》第二章数据资产的相关概念2.4 大数据时代的到来和兴起
|
编解码 监控 数据可视化
数据可视化大屏应急管理综合指挥调度系统完整案例详解(PHP-API、Echarts、百度地图)
数据可视化大屏应急管理综合指挥调度系统完整案例详解(PHP-API、Echarts、百度地图)
837 0
|
机器学习/深度学习 算法 搜索推荐
Stacking:解决机器学习进行多模型组合的实用工具
在机器学习领域,算法的选择和参数的调整一直是让人头痛的难题。虽然有很多算法可以使用,但没有一种算法是万能的。随着技术的不断发展,出现了一些新的技术可以在算法选择和调整参数方面提供一些帮助。其中最流行的技术之一是Stacking。 Stacking是一种用于增强机器学习模型性能的技术。该技术通过结合不同算法的预测结果来生成最终的预测结果。这种方法能够帮助解决许多机器学习问题,特别是当单一算法不足以解决问题时。
|
编解码 Android开发
DPI、PPI和Android的应用开发单位dp
DPI、PPI和Android的应用开发单位dp
|
云安全 大数据 数据挖掘
云计算认证哪个含金量高,ACP认证分类
学习使人进步,如果您是爱学习的小伙伴,而且您又是从事互联网行业工作的朋友,那您听说过一个叫做acp的证书吗?这个证书可谓是火爆全网,云计算认证哪个含金量高您知道吗?当然是acp证书,acp证书有哪几种分类呢?一共有五种分类,下面小编就给您介绍一下,这五个分类分别是云计算认证、大数据认证、数据分析认证和云安全认证,您可以根据自身情况报考。或者您也可以咨询认证大使哦,我们可以为您提供建议。
1015 0
云计算认证哪个含金量高,ACP认证分类

相关产品

  • 云数据库 RDS MySQL 版