【MySQL进阶之路】生产案例:大量数据刷盘导致的数据库性能抖动问题优化

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送!

在我后台回复 「资料」 可领取编程高频电子书
在我后台回复「面试」可领取硬核面试笔记

文章导读地址:点击查看文章导读!

感谢你的关注!

在这里插入图片描述

先说一下这次 数据库性能抖动的现象 :当有数据进行更新、插入的时候,一般情况下可能几十毫秒就完成了,但是却出现了执行了几秒才完成的现象

造成这个问题的原因: 就是大量数据刷盘从而导致该 SQL 执行时间很长

我们知道,在 MySQL 中,对数据进行更新会先在 BufferPool 中更新,之后会将修改操作写入 redo log 日志文件中去

写 redo log 日志文件的过程就是,在 MySQL 的默认配置下,会有一个存储 redo log 的目录,里边有两个 redo log 磁盘日志文件,每个文件的大小为 48MB,那么当第一个 redo log 磁盘文件写满之后,会去写第二个 redo log 磁盘文件,当第二个 redo log 磁盘文件写满之后,又会去覆盖第一个 redo log 磁盘文件中的数据

那么当更新数据的时候,恰好碰到了第二个 redo log 磁盘文件写满的情况,此时会去覆盖第一个 redo log 磁盘文件中的数据,如果此时第一个 redo log 磁盘文件中有一些更新的数据还没有刷到磁盘中去的话,就会先将这部分数据页给刷到磁盘中去,如果这部分数据很多的话,就会导致花费比较长的时间

1707470194898

那么经过以上分析,性能抖动的原因找到了,如何解决呢?

解决思路就是:让 MySQL 尽量快地将数据从内存给刷到磁盘中去

让部署数据库机器的磁盘使用 SSD 固态硬盘,之后使用 fio 工具来对部署数据库的机器的 SSD 固态硬盘每秒钟最多能承载磁盘 IO 次数做一个测试,测试出来每秒最多的磁盘 IO 次数之后,可以将这个值设置给 MySQL 的参数:innodb_io_capacity,通过设置这个参数,可以让数据库以最大速率将缓存页刷到磁盘中去

可以使用 fio 工具来对部署数据库的机器的 SSD 固态硬盘每秒钟最多能承载磁盘 IO 次数做一个测试,测试出来每秒最多的磁盘 IO 次数之后,可以将这个值设置给 MySQL 的参数:innodb_io_capacity,尽可能让数据库以最大速率进行刷盘操作,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】Docker Container(容器)

文章目录 一、什么是容器?二、为什么需要容器?三、容器的生命周期容器OOM容器异常退出容器暂停 四、容器命令详解docker createdocker logsdocker attachdocker execdocker startdocker stopdocker restartdocker killdocker topdocker statsdocker cont…

Apache 神禹(shenyu)源码阅读(一)——Admin向Gateway的数据同步(Admin端)

源码版本:2.6.1 单机源码启动项目 启动教程:社区新人开发者启动及开发防踩坑指南 源码阅读 前言 开了个新坑,也是第一次阅读大型项目源码,写文章记录。 在写文章前,已经跑了 Divide 插件体验了一下(体…

DataEase

一. DataEase (一). 说明 安装文档 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分…

比特币突然大涨

作者:秦晋 2月9日,除夕夜,比特币突然大涨,最高涨至48219美元,涨幅超6%。据CNBC报道,本周比特币已经上涨10.76%,创下自12月8日以来的最佳的一周。本周ETH上涨8.46%,成为自1月12日以来…

mac无法往硬盘里存东西 Mac硬盘读不出来怎么办 Mac硬盘格式 硬盘检测工具

mac有时候会出现一些问题,比如无法往硬盘里存东西,或者无法往硬盘上拷贝文件。这些问题会给用户带来很大的困扰,影响正常的工作和学习。那么,mac无法往硬盘里存东西,mac无法往硬盘上拷贝怎么办呢?软妹子将为…

DAY9.

1.选择芯片型号 2. 3. 4. 5. 6. 7.

相机图像质量研究(12)常见问题总结:光学结构对成像的影响--炫光

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

关于node与node-sass那些事

昨晚找了之前的一个项目想要复习下,结果npm i报错,大致意思就是noda-sass的版本和node的对不上,那怎么办呢: 1.换node版本,那好吧,首先要明白,对应的版本关系 2.然后我开始用nvm换node版本&am…

MySQL-----DCL基础操作

▶ DCL简介 DCL英文全称是Data ControlLanguage(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 DCL--管理用户 ▶ 查询用户 use mysql; select * from user; ▶ 创建用户 ▶ 语法 create user 用户名主机名 identified by 密码 设置为在任意主机上访问…

2024 年适用于 Windows 的 10 款顶级录屏软件

什么是屏幕录制软件? 屏幕录像机是专用软件,允许用户捕获整个屏幕或显示器的特定部分。无论是捕获窗口的特定区域、完整的网页、可滚动的屏幕截图或包括光标移动的录音等。一款优秀的截屏软件是将所有这些功能集成到一个软件包中,以简化日常工…

小白水平理解面试经典题目LeetCode 102 Binary Tree Level Order Traversal【二叉树】

102. 二叉树层次顺序遍历 小白渣翻译 给定二叉树的 root ,返回其节点值的层序遍历。 (即从左到右,逐级)。 例子 小白教室做题 在大学某个自习的下午,小白坐在教室看到这道题。想想自己曾经和白月光做题&#xff0c…

教材管理系统

文章目录 教材管理系统一、系统演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 教材管理系统 一、系统演示 教材管理系统 二、项目介绍 语言:nodejs 框架:egg.js、Vue 数据库…

2022年9月电子学会青少年软件编程 中小学生Python编程等级考试二级真题解析(选择题)

2022年9月Python编程等级考试二级真题解析 选择题(共25题,每题2分,共50分) 1、运行以下代码,结果输出的是 means[Thank,You] print(len(means)) A、1 B、2 C、6 D、8 答案:B 考点分析:考…

Vulnhub靶机:hackable3

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:hackable3(10.0.2.53) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/hac…

【经典项目】Java实现打地鼠小游戏(附源码)

一、游戏回顾 打地鼠游戏是一款简单而有趣的反应游戏。游戏中,你需要在地洞中出现的地鼠出现时迅速点击它们,以获得分数。以下是一般的打地鼠游戏玩法介绍: 准备阶段:游戏开始时,你会看到一个由多个地洞组成的游戏界面…

Linux防火墙开放

记录一次问题 写的网络服务无法通信 代码没问题,IP绑定、端口绑定没问题,就是无法进行通信,这里要分2步走。 服务器控制台开放 进入防火墙 添加规则,这里以开放udp的8899端口为例 这里在服务器后台就已经开放了,但此时…

[2024]常用的pip指令

[2024]常用的pip指令 HI,这里是肆十二,好久不见,大家! 新年好! pip是Python的包管理工具,它可以用来安装、升级、卸载Python包。以下是一些常用的pip指令: 安装包: bash复制代码…

AMD FPGA设计优化宝典笔记(2)亚稳态

一 亚稳态 亚稳态的产生是由于寄存器采样不满足建立时间或保持时间要求导致的,亚稳态的产生是无法避免的,我们能做的只是想办法降低其发生的频率。在跨时钟域设计中,由于时钟域存在跨域,如果不采取手段,则会有很大概率…

分析“e^iπ+1=0”的错谬及其违反数学规则

如果评选从远古到现代对人类智商羞辱最严重的事件,欧拉公式“e^iπ-1”若说第二、就没有哪个能称第一。 看下面罗列的关系,数学伦理在大数学家欧拉眼里形同虚设: ①“e^iπ-1”没有代码,不能表示数量变化关系,它来自e^…

【Linux学习】线程详解

目录 十八.多线程 18.1 线程与进程 18.2 内核视角看待创建线程与进程 18.3 线程优缺点总结 线程的优点: 线程的缺点: 线程的用途: 18.4 线程与进程的联系 十九.线程控制 19.1 POSIX线程库 19.2 线程创建 19.3 线程等待 19.4 线程终止 19.5 线…