MySQL—buffer pool
一、buffer pool的介绍
Buffer pool是什么
一个内存区域,为了提⾼数据库的性能,数据库操作数据的时候,把硬盘上的数据加载到buffer pool,不直接和硬盘打交道,操作的是 buffer pool的数据,数据库的增删改查都是在 buffer pool 上进行
Buffer pool 有多大
Buffer Pool 是在 MySQL 启动的时候,向操作系统申请的一片连续的内存空间,默认配置下 Buffer Pool 只有 128MB 。
Buffer Pool 缓存什么?
二、Buffer pool如何管理
其中「有三大双向链表」:
▪「free 链表」
• ⽤于帮助我们找到空闲的缓存⻚
▪ 「flush 链表」
• ⽤于找到脏缓存⻚,也就是需要刷盘的缓存⻚
▪ 「lru 链表」
• ⽤来淘汰不常被访问的缓存⻚,分为热数据区和冷数据区,冷数据区主要存放那些不常被用到的数据
简单的 LRU 算法并没有被 MySQL 使用,因为简单的 LRU 算法无法避免下面这两个问题:
- 预读失效;
- Buffer Pool 污染;
预读失效是什么?
MySQL 在加载数据页时,会提前把它相邻的数据页一并加载进来,目的是为了减少磁盘 IO。
但是可能这些被提前加载进来的数据页,并没有被访问,相当于这个预读是白做了,这个就是预读失效。
预读失效解决方案
改进了 LRU 算法,将 LRU 划分了 2 个区域:old 区域 和 young 区域(63:37)。划分这两个区域后,预读的页就只需要加入到 old 区域的头部,当页被真正访问的时候,才将页插入 young 区域的头部。如果预读的页一直没有被访问,就会从 old 区域移除,这样就不会影响 young 区域中的热点数据。
什么是 Buffer Pool 污染?
当某一个 SQL 语句扫描了大量的数据时,在 Buffer Pool 空间比较有限的情况下,可能会将 Buffer Pool 里的所有页都替换出去,导致大量热数据被淘汰了,等这些热数据又被再次访问的时候,由于缓存未命中,就会产生大量的磁盘 IO,MySQL 性能就会急剧下降,这个过程被称为 Buffer Pool 污染
缓存污染解决方案
只有同时满足「被访问」与「在 old 区域停留时间超过 1 秒」(innodb_old_blocks_time 阈值(默认为1秒))两个条件,才会被插入到 young 区域头部,这样就解决了 Buffer Pool 污染的问题 。
相关文章:
![](https://img-blog.csdnimg.cn/9cd1544f884c4665a1cc3b1d8861338c.png)
MySQL—buffer pool
一、buffer pool的介绍 Buffer pool是什么 一个内存区域,为了提⾼数据库的性能,数据库操作数据的时候,把硬盘上的数据加载到buffer pool,不直接和硬盘打交道,操作的是 buffer pool的数据,数据库的增删改查…...
![](https://www.ngui.cc/images/no-images.jpg)
《C和指针》笔记8: 枚举类型
枚举 (enumerated)类型就是指它的值为符号常量而不是字面值的类型,它们以下面这种形式声明: enum Jar_Type { CUP, PINT, QUART, HALF_GALLON, GALLON };这条语句声明了一个类型,称为Jar_Type。这种类型的变量按下列方式声明: e…...
![](https://img-blog.csdnimg.cn/f84f55b244044817a84be4552036dabe.png)
Python爬虫框架之Selenium库入门:用Python实现网页自动化测试详解
概要 是否还在为网页测试而烦恼?是否还在为重复的点击、等待而劳累?试试强大的Selenium!让你的网页自动化测试变得轻松有趣! 一、Selenium库到底是什么? Selenium 是一个强大的自动化测试工具,它可以让你直…...
![](https://www.ngui.cc/images/no-images.jpg)
docker swarm 部署服务网络问题
docker swarm 服务部署问题 docker swarm 部署服务时可能会出现,启动服务特别慢的情况,甚至一个service 启动后,容器会长时间处于 preparing 状态,直到 状态切换成 running 状态后,才会启动下一个service。然后查询资…...
![](https://www.ngui.cc/images/no-images.jpg)
1.00001git源码clone后进行编译(带调试)
– 新建用户 useradd postgres passwd postgres – 用户加入sude组 先cd到/etc/sudoers目录下 由于sudoers文件为只读权限,所以需要添加写入权限,chmod uw sudoers vim sudoers 找到root ALL (ALL) ALL这一行,在下一行加入username ALL (A…...
![](https://img-blog.csdnimg.cn/31bcaf9068074d84ad97987384a02a2c.png)
使用StorageClass动态创建pv
rook-ceph安装部署到位后,就可以开始来尝试使用StorageClass来动态创建pv了。 有状态的中间件在kubernetes上落地基本上都会用到StorageClass来动态创建pv(对于云上应用没有那么多烦恼,云硬盘很好用,但是对于自己学习和练习来说还…...
![](https://img-blog.csdnimg.cn/9f2633f8c30845caa3d06fda8146f357.png)
数据结构(Java实现)-ArrayList与顺序表
什么是List List是一个接口,继承自Collection。 List的使用 List是个接口,并不能直接用来实例化。 如果要使用,必须去实例化List的实现类。在集合框架中,ArrayList和LinkedList都实现了List接口。 线性表 线性表(lin…...
![](https://img-blog.csdnimg.cn/094aba52a8da48c9857a5a38e9517ad5.png)
性能优化维度
CPU 首先检查 cpu,cpu 使用率要提升而不是降低。其次CPU 空闲并不一定是没事做,也有可能是锁或者外部资源瓶颈。常用top、vmstat命令查看信息。 vmstat 命令: top: 命令 IO iostat 命令: Memory free 命令: 温馨提示:…...
![](https://img-blog.csdnimg.cn/f1166dc81db64294b4368179cf3ba7a9.png)
【C++】map的奇葩用法:和函数结合
2023年8月26日,周六下午 今天才发现map居然还能这样用... #include <iostream> #include <map> #include <functional>void printOne() {std::cout << "已经打印出1" << std::endl; }void printTwo() {std::cout <<…...
![](https://www.ngui.cc/images/no-images.jpg)
关于JVM的参数类型
JVM参数类型,主要是可以分为三类。分别是: 标准参数 例如: -help-server-client-version-showversion-cp-classpath 等等,这类参数的特点是在jdk各版本里基本不会变的,相对稳定。 X参数 X参数也就是非标准化参数&am…...
![](https://www.ngui.cc/images/no-images.jpg)
HTTP协议中的Content-Type及其常见类型
什么是Content-Type? Content-Type是HTTP协议中的一个头部字段,用于指示请求或响应中所传输的实体的媒体类型。 为什么使用Content-Type? 使用Content-Type可以告知接收方如何解析和处理传输的数据,确保数据能够正确地被解析和…...
![](https://img-blog.csdnimg.cn/c39616be7c5049369797c5b77d04ac53.png)
android Junit4编写自测用例
10多年的android开发经验,一直以来呢,也没有使用过android自带的测试代码编写。说来也惭愧。今天也花了点时间稍微研究了下。还挺简单。接下来就简单的说一下。 新建工程 直接默认新建一个工程,就会有两个目录androidTest和test(unitTest)两…...
![](https://img-blog.csdnimg.cn/img_convert/a4c92b01641221170fe9b779c1c33897.png)
arcgis:画一幅自己城市的shp地图
首先打开ArcGis10.6,点击带黄底的小加号,添加底图。 可以选择中国地图彩色版,然后双击,转动鼠标滑轮找到属于自己的城市。 点击-目录,在新建的文件夹里右击-新建-shapefile。 格式选择折线,先把主要河流道路…...
![](https://www.ngui.cc/images/no-images.jpg)
采购油封时要考虑的因素
对于依赖机械和设备的行业来说,油封的选择是一个关键的决定,以确保平稳运行并防止流体泄漏。由于有多种选择,了解购买油封时要考虑的关键因素对于确保适合特定应用至关重要。让我们深入研究一下在此选择过程中发挥关键作用的考虑因素。 1、运…...
![](https://www.ngui.cc/images/no-images.jpg)
【无标题】科目一笔记
载人超过核定人数 校车/公路客运汽车/旅游客运汽车 未达到20%,-6超过20%以上,-12 七座以上载客汽车 1. 超过20%以上未达到50%,-6 2. 超过50%以上未达到100%,-9 其他载客汽车 1. 超过20%以上未达到50%,-3 2. 超过50…...
![](https://img-blog.csdnimg.cn/70db7c62a72d4052850f0adf745622f5.png)
java八股文面试[数据结构]——HashMap和HashTable区别
HashMap源码中的重要常量 DEFAULT_INITIAL_CAPACITY: HashMap的默认容量,16 MAXIMUM_CAPACITY: HashMap的最大支持容量,2^30 TREEIFY_THRESHOLD:Bucket中链表长度大于该默认值,转化为红黑树。 UNTREEIFY_THRESHOLD…...
![](https://www.ngui.cc/images/no-images.jpg)
乐趣无限:10款基于Pygame的经典游戏合集
引言 游戏开发一直是许多程序员和游戏爱好者追求的梦想。而Pygame作为一款功能强大的游戏开发库,为我们提供了实现各种有趣游戏的工具和接口。在本文中,我将向大家介绍10款基于Pygame的经典游戏合集,从简单的猜数字到刺激的飞机…...
![](https://www.ngui.cc/images/no-images.jpg)
php检测数组是否存在某个键,和是否存在某个变量
一、array_key_exists() array_key_exists() 是一个 PHP 内置的函数,用于判断数组中是否存在指定的键。该函数接收两个参数,第一个是键名,第二个是数组。 $arr array(name > Jack, age > 20, country > China);if (array_key_exi…...
![](https://www.ngui.cc/images/no-images.jpg)
c++中的const与constexpt的区别
c中的const与constexpr的区别 const const 是一种修饰符,用于声明一个只读的常量。它可以用于变量、函数参数和函数返回类型。声明为 const 的变量的值在初始化后就不能再改变。 适用场景: const 适用于声明运行时常量,在编译时无法确定值…...
![](https://img-blog.csdnimg.cn/ceb8c930648a4336a05f8aefd2359fad.png)
android系统启动流程之SystemServer运行过程
SystemServer进程的启动流程:直接看代码: SystemServer是Java中的一个进程,执行入口是SystemServer.java.main(); SystemServer.java.main();-->new SystemServer().run();-->createSystemContext();//创建系统上下文:虽然SystemServe…...
![](https://img-blog.csdnimg.cn/946333e682cf4a8b8bc47c7cf4ace015.png)
Leetcode 1812。判断国际象棋棋盘中一个格子的颜色
国际棋盘问题: 给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。 如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。 给定坐标…...
![](https://img-blog.csdnimg.cn/d9f520510964461b95b76ed2e2843454.png)
9个python自动化脚本,PPT批量生成缩略图、添加图片、重命名
引言 最近一番在整理资料,之前买的PPT资源很大很多,但归类并不好,于是一番准备把这些PPT资源重新整理一下。统计了下,这些PPT资源大概有2000多个,一共30多G,一个一个手动整理这个投入产出比也太低了。 作为…...
![](https://img-blog.csdnimg.cn/172b61e464c64d278a338c53b689e6a8.png)
计算机竞赛 基于大数据的社交平台数据爬虫舆情分析可视化系统
文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据…...
![](https://img-blog.csdnimg.cn/1fd036595ca543439e830b1129ae30f2.png)
基于Java的旅游信息推荐系统设计与实现,springboot+vue,MySQL数据库,前后端分离,完美运行,有三万字论文。
基于Java的旅游信息推荐系统设计与实现,springbootvue,MySQL数据库,前后端分离,完美运行,有三万字论文。 前台主要功能:登录注册、旅游新闻、景区信息、美食信息、旅游线路、现在留言、收藏、预定旅游线路…...
![](https://img-blog.csdnimg.cn/dfd1115ea5bc4d35b8a77cfe56279bd4.gif)
合宙Air724UG LuatOS-Air LVGL API控件--曲线 (Arc)
曲线 (Arc) 曲线控件,也可以称为弧。因为 Arc 本身就是弧,弧形的意思。根据控件的样子也能推测出它的使用场景,一般用在加载器(就是等待界面转的圈圈)或者数值显示,数值调节这些场景。曲线控件分了两个部分,前景和背…...
![](https://img-blog.csdnimg.cn/ccdf099ed7b54542ba0a960b872d3e41.png)
09-微信小程序 网络请求API(实现轮播广告和简易的聊天窗口)
09-微信小程序API网络请求(实现轮播广告和简易的聊天窗口) 文章目录 微信小程序API服务器域名配置注意网络相关APIrequestRequestTask 请求任务对象object.success 回调函数object.fail 回调函数案例代码(实现轮播图) WebSocket案例代码(实现…...
![](https://img-blog.csdnimg.cn/0fe7a57160634e9593ef23a56009c8ed.png#pic_center)
Visual Studio 2017安装和项目配置
目录 前言1. What、Why and How1.1 What1.2 Why1.3 How 2. 安装3. 创建新项目4. 配置OpenCV库4.1 下载opencv安装包4.2 配置系统环境变量4.3 VS项目环境配置4.4 总结 5. 已有项目添加6. Tips6.1 常用快捷键6.2 字体和颜色选择6.3 配置编译路径 结语下载链接参考 前言 最近因为项…...
![](https://img-blog.csdnimg.cn/img_convert/053398536ab4b7e5c6a7bf41278042fd.png#?w=447&h=446&e=png&b=ffffff)
【提升接口响应能力的最佳实践】常规操作篇
文章目录 1. 并行处理简要说明CompletableFuture是银弹吗?测试案例测试结论半异步,半同步总结 2. 最小化事务范围简要说明编程式事务模板 3. 缓存简要说明 4. 合理使用线程池简要说明使用场景线程池的创建参数的配置建议 线程池的监控线程池的资源隔离 5…...
![](https://www.ngui.cc/images/no-images.jpg)
Vue使用ffmpeg,报ReferenceError: SharedArrayBuffer is not defined 如何解决
“SharedArrayBuffer is not defined” 错误是因为在浏览器环境中,SharedArrayBuffer 对象被认为是一种潜在的安全风险。为了防止 Spectre 攻击等漏洞,现代浏览器通常会禁用或限制对 SharedArrayBuffer 的使用。 SharedArrayBuffer 是一种 JavaScript 对…...
![](/images/no-images.jpg)
炫彩发光字制作网站/广东网站se0优化公司
最近一直找java8相关新特性的文章,发现都太没有一个连贯性,毕竟大家写博客肯定都有自己的侧重点,这里找到一本书,专门介绍java8新特性的,感觉大家可以看看《写给大忙人看的JavaSE8》.这里我会结合书中的知识以及网上的…...
![](/images/no-images.jpg)
wordpress文章归档模板/网推app
项目介绍 一款 Java 语言基于 SpringBoot2.x、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建后台管理系统,本着简化开发、提升开发效率的初衷,框架自…...
南昌有限公司 网站/百度seo教程视频
如果2020年全球共用一个表情,那应该是一张皱着眉头的、充满疑惑的脸。在漫长的居家隔离、艰苦的抗疫防疫中,2020年给每个人留下了满满的告诫与警示:人类必须重新思考与自然环境间的关系。这一年,疫情影响和改变了每个人的生活与工…...
![](https://images2018.cnblogs.com/blog/1244344/201805/1244344-20180513165123518-1321040274.png)
wordpress 5.0.2企业站主题/百度新闻发布平台
虽然这是一次失败的渗透,但是也学到不少新姿势。 目标机环境:①外网②win2012③360全家桶 一,利用Struts2终极利用工具上传一句话 jsp的一句话,有时候会出现兼容问题。比如Cknife的jsp一句话,K8飞刀就连接不了。我这里…...
![](https://img-blog.csdnimg.cn/img_convert/e0a5b3ea21e0570650454d27f6df64c7.png)
做 专而精 的网站/一般开车用什么导航最好
Apache日志文件名称及路径介绍 (推荐学习:apache使用)当我们安装并启动Apache后,Apache会自动生成两个日志文件,这两个日志文件分别是访问日志access_log(在Windows上是access.log)和错误日志error_log(在Windows上是error.log)。如果使用 SS…...
![](/images/no-images.jpg)
广州品牌网站设计开发/seo外链收录
linux-c语言 基于本地TCP制作服务端发送视频流方案、客户端接受流方案注意只适合本地tcp,走局域网的再见哈TCP服务器源码(按帧为单位发送)TCP客户端源码(接受一帧为单位)(解决粘包和拆包问题)注意只适合本地tcp,走局域网的再见哈 局域网单包发送61440个…...