MySQL 主要线程

news2024/11/15 19:50:57

文章目录

    • MySQL 主要线程
      • 1. Master thread
      • 2. io thread
      • 3. purge thread
      • 4. page Cleaner Thread

MySQL 主要线程

在这里插入图片描述

1. Master thread

Master thread有四大循环,分别是loop,background loop,suspend loop,flush loop。且四大循环的作用如下:

  • loop: 是master thread的主循环, 用于将buffer pool的脏页刷新到磁盘,合并change buffer的脏页到辅助索引页面,清理undo log页。
  • background loop: 这是master thread的后台循环。当数据库还在运行,且没有用户运行事件,此时会进入background 循环。
  • flush loop: 刷新循环。一般是进入background loop后当服务器没有空闲状态了会进入flush loop.
  • suspend loop: 暂停循环,数据库处于恢复的状态,状态恢复后进入loop循环.

在这里插入图片描述
如上图所示
innodb 1.0.x之前的master thread和此版本有些不同。不同之处在于脏页刷新的页面数,在1.0.x之前的版本中,每秒刷写固定的100个脏页,合并20个undo页。

2. io thread

在innodb 存储引擎中大量使用了AIO(Async IO)来处理io请求.在innodb 1.0.x版本之前,共有4个IO thread,分别是 wirte io ,read io,insert buffer ,log io thread,但是在windows平台可以通过innodb_file_io_threads来增加IO thread。从InnoDB 1.0.X版本开始,read thread,write thread分别增加到了4个,并不再使用innodb_file_io_threads参数,而是使用innodb_read_io_threads,innodb_write_io_threads参数。

3. purge thread

purge thread主要用于回收undo 页。在InnoDB 1.1版本之前主要由master thread回收undo 页,从innodb 1.1版本开始,将purge独立,从而提高cpu利用率。用户可以通过innodb_purge_threads参数设置purge 的线程,不过这一特性是从innodb 1.2开始支持的,一般就设置4吧,表示有4个purge thread并行清理undo页面。

4. page Cleaner Thread

page Cleaner Thread 用于脏页刷新,这一功能是从innodb 1.2.x版本开始引入的。

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

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

相关文章

第二篇 基于自然语言处理的漏洞检测方法综述

杨伊等 来源:计算机研究与发展 目录 1 相关技术 1.1 自然语言处理 1.2 漏洞检测与分析 据2021年CVE漏洞趋势安全报告,当前漏洞类型占比最大的5类漏洞分别是代码执行、拒绝服务、溢出、跨站脚本以及信息获取。基于自然语言处理技术实现漏洞检测的研究…

STM32F103实现激光测距传感器测距WT-VL53L0 L1

目录 本博客将采用标准库和HAL库实现 所用设备选择 引脚说明 与单片机的接线表 标准库实现 HAL库实现 本博客将采用标准库和HAL库实现 所用设备选择 单片机型号:STM32F103C8T6 激光测距传感器型号:WT-VL53L0 L1 采用串口TTL电平输出,可…

CSDN云IDE初次测评体验

CSDN云IDE初次测评体验 文章目录CSDN云IDE初次测评体验一、前言二、云IDE产品介绍三、云IDE使用教程1、尝试编写Python爬虫代码2、尝试编写Python可视化代码3、尝试连接MySQL数据库四、最后我想说一、前言 最近一直有收到CSDN官方私信参加这个测评云IDE活动,刚好这…

YOLOv5剪枝 | 模型剪枝理论篇 | 1/2

文章目录 1. 前言2. 摘要精读3. 背景4. 本文提出的解决方式5. 通道层次稀疏性的优势6. 挑战7. 缩放因素和稀疏性惩罚8. 利用BN图层中的缩放因子9. 通道剪枝和微调10. 多通道方案11. 处理跨层连接和预激活结构12. 实验结果12.1 CIFAR-10数据集剪枝效果12.2 CIFAR-100数据集剪枝效…

Kafka图形管理界面Kafka-eagle安装配置详解

Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等。 官方网址:EFAK 点击下载,将安装包下载到电脑本地&…

pytoch安装

1、安装 Anaconda 2、检查显卡,驱动(检查是否较新) winR——cmd,进入命令行,输入: nvidia-smi 如果版本不够,去官网下载Release Notes :: CUDA Toolkit Documentation (nvidia.com) 3、创建P…

【飞桨PaddleSpeech语音技术课程】— 语音识别-流式服务-模型部分

(以下内容搬运自飞桨PaddleSpeech语音技术课程,点击链接可直接运行源码) 流式语音识别模型 Deepspeech2 与 Conformer 1. 前言 1.1 背景知识 语音识别(Automatic Speech Recognition, ASR) 是一项从一段音频中提取出语言文字内容的任务。 (出处:DLHL…

开源监控软件Zabbix5部署实战

系列文章目录 文章目录系列文章目录一、zabbix介绍一、zabbix部署1、zabbix环境2、安装zabbix的安装包安装zabbix_server安装被监控方 web001一、zabbix介绍 百度百科:Zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它是一…

2022-10-27 工作记录--Swiper/React-解决swiper处理动态数据出现样式紊乱、抖动问题

Swiper/React-解决swiper处理动态数据出现样式紊乱、抖动问题 First of all,检查自己在push数据前是否先清空了数组: 若已清空,请直接往下看👁👁哦;若未清空,请先清空数组(可查看我的…

机器学习笔记:支持向量机SVM

1 一些概念 1.1 线性可分 在二维空间上,两类点被一条直线完全分开叫做线性可分。严谨的说法是: D0和 D1 是 n 维欧氏空间中的两个点集。如果存在 n 维向量 w 和实数 b,使得所有属于 D0 的点 xi 都有 wxib>0 ,而对于所有属于 …

【面试题】 ES6知识点详细解析

给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 🍔let const 其他知识点补充 块级作用域的补充 const 不可以在循环体里面声明变量给大家推荐一个实用面试…

从零备战蓝桥杯——动态规划(背包dp篇)

双非刷leetcode备战2023年蓝桥杯,qwq加油吧,无论结果如何总会有收获!一起加油,我是跟着英雄哥的那个思维导图刷leetcode的,大家也可以看看所有涉及到的题目用leetcode搜索就可以哦,因为避让添加外链,一起加…

【JavaWeb】之Tomcat介绍、安装与使用

【JavaWeb】Tomcat前言一、Tomcat简介1.什么是Tomcat2.其他常用Web服务器二、Tomcat安装1.下载Tomcat2.配置环境变量三、Tomcat使用1.启动与关闭Tomcat2.修改Tomcat的端口号和主机名称3.使用IDEA搭建Web开发环境4.在Tomcat中部署web项目四、Web项目目录结构五、网站访问流程后记…

【Linux】yum vim 基础工具的使用

文章目录1. Linux环境下的软件包管理器---- yum1.2 什么是软件包1.3 yum源镜像配置1.4 yum查看软件包1.5 yum 如何安装软件1.6 yum 如何卸载软件2. Linux编辑器--vim2.1 vim 简介2.2 . vim的基本操作2.3 vim命令模式下的命令集2.3.1 光标移动2.3.2 编辑2.4 vim末行模式下的命令…

Python入门自学进阶-Web框架——24、DjangoAdmin项目应用-定制页面2

这里要实现点击对应的表名称&#xff0c;显示具体表的详细内容&#xff0c;大致的流程是&#xff1a; 前端显示各个表名&#xff0c;如下&#xff1a; <tbody>{% for table_name,admin in app_tables.items %}<tr class"border-bottom"><td style&…

彻底理解Java并发:volatile关键字

本篇内容包括&#xff1a;volatile 关键字简介、volatile 保证可见性&#xff08;包括&#xff1a;关乎不可见性问题描述、JMM内存模型和不可见性的解决方案&#xff09;以及 volatile 其他特性&#xff08;包括&#xff1a;volatile 不保证原子性、volatile 原子性的保证操作、…

mysql-高级命令(1)和一些函数(悟已往之不谏,知来者之可追)

一、高级命令 1.查询某个字段和多个字段 select 某个字段&#xff08;或者多个字段&#xff0c;中间以逗号间隔&#xff09;from 表名&#xff1b; 2. 去除字段的重复值 3.and 表示&#xff08;两个条件都需要满足&#xff09; 4.or &#xff08;两个条件满足一点&#xff09;…

【Linux】软件包管理器 yum 与编辑器 vim 的基本使用

文章目录一、yum 背景知识1、商业生态2、开源生态3、软件生态本土化二、yum 的基本使用1、查看软件包2、安装软件3、卸载软件三、vim 的基本使用1、vim 的基本概念2、vim 的基本操作2.1 模式间切换2.2 光标定位2.3 文本复制2.4 文本编辑2.5 底行模式的操作四、简单 vim 配置2、…

SpringBoot+SpringCloud+Nutty打造分布式在线消息推送服务(实例)

文章目录前言技术架构效果图后端项目消息数据定义存储结构消息状态Nutty消息服务项目结构改动消息bean消息处理器消息转换pojo工具审核消息处理controller实现类服务调用前端连接代码初始化接受消息消息的展示效果总结前言 其实关于这个的话&#xff0c;我先前的几篇博文&…

css选择器

碎碎念&#xff1a;都是一些自己在学习过程中的一点体会&#xff0c;如果有什么不对的感谢大家指正一起学习&#xff01; css选择器一、常用选择器二、属性选择器三、其他五、栗子1. * 通配符2. 空格 div p3. > 子选择器4. ~ 通用兄弟选择器5. 相邻兄弟选择器6. , 选择器分…