Mysql InnoDB引擎生产环境配置 - 待完善

一. 前言

在生产环境中mysql如何配置, 有什么约定项…

数据库在生产环境运行的时候,你必须根据机器的内存设置合理的buffer pool的大小,然后设置buffer pool的数量,这样的话,可以尽可能的保证你的数据库的高性能和高并发能力。
在线上运行的时候,buffer pool是有多个的,每个buffer pool里多个chunk但是共用一套链表数据结构,然后执行crud的时候,就会不停的加载磁盘上的数据页到缓存页里来,然后会查询和更新缓存页里的数据,同时维护一系列的链表结构。

二. 查看配置 SHOW ENGINE INNODB STATUS

mysql> SHOW ENGINE INNODB STATUS \G;
*************************** 1. row ***************************Type: InnoDBName:
Status:
----------------------
BUFFER POOL AND MEMORY
----------------------
## buffer pool最终的总大小是多少
Total large memory allocated 137428992
Dictionary memory allocated 100382
## 这就是说buffer pool一共能容纳多少个缓存页
Buffer pool size   8191
## 这就是说free链表中一共有多少个空闲的缓存页是可用的
Free buffers       7703
## Database pages和Old database pages,就是说lru链表中一共有多少个缓存页,以及冷数据区域里的缓存页数量
Database pages     484
Old database pages 0
## 这就是flush链表中的缓存页数量
Modified db pages  0## Pending reads和Pending writes,等待从磁盘上加载进缓存页的数量,
## 还有就是即将从lru链表中刷入磁盘的数量、即将从flush链表中刷入磁盘的数量
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0## 这就是说已经lru冷数据区域里访问之后转移到热数据区域的缓存页的数量,
## 以及在lru冷数据区域里1s内被访问了没进入热数据区域的缓存页的数量
Pages made young 0, not young 0## youngs/s和not youngs/s,这就是说每秒从冷数据区域进入热数据区域的缓存页的数量,
## 以及每秒在冷数据区域里被访问了但是不能进入热数据区域的缓存页的数量
0.00 youngs/s, 0.00 non-youngs/s## Pages read xxxx, created xxx, written xxx,xx reads/s, xx creates/s, 1xx writes/s,
## 这里就是说已经读取、创建和写入了多少个缓存页,以及每秒钟读取、创建和写入的缓存页数量
Pages read 450, created 34, written 36
0.00 reads/s, 0.00 creates/s, 0.00 writes/s## Buffer pool hit rate xxx / 1000,这就是说每1000次访问,有多少次是直接命中了buffer pool里的缓存的
## young-making rate xxx / 1000 not xx / 1000,每1000次访问,有多少次访问让缓存页从冷数据区域移动到了热数据区域,以及没移动的缓存页数量No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s## LRU len:这就是lru链表里的缓存页的数量
LRU len: 484, unzip_LRU len: 0## I/O sum:最近50s读取磁盘页的总数
## I/O cur:现在正在读取磁盘页的数量
I/O sum[0]:cur[0], unzip sum[0]:cur[0]

三. 配置

buffer pool 大小.

约定: 要根据可用内存来评估. 比如 buffer pool设置你的机器内存的50%~60%左右,

buffer pool总大小=(chunk大小 * buffer pool数量)的2倍数

确定了buffer pool的总大小之后,就得考虑一下设置多少个buffer pool,以及chunk的大小了

关键公式 : buffer pool总大小=(chunk大小 * buffer pool数量)的倍数

示例:
默认的chunk大小是128MB, 机器的内存是32GB,打算给buffer pool总大小分配20GB内存.

答案: buffer pool的数量是16个,
此时chunk大小 * buffer pool的数量 = 16 * 128MB = 2048MB,
然后buffer pool总大小如果是20GB,此时buffer pool总大小就是2048MB的10倍
当然,此时你可以设置多一些buffer pool数量,比如设置32个buffer pool,那么此时buffer pool总大小(20GB)就是(chunk大小128MB * 32个buffer pool)的5倍,也是可以的。
那么此时你的buffer pool大小就是20GB,然后buffer pool数量是32个,每个buffer pool的大小是640MB,然后每个buffer pool包含5个128MB的chunk,算下来就是这么一个结果了。

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

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

相关文章

2022 HITCON -- fourchain-kernel

前言 很久没碰内核利用相关的东西了,这个题目都调了我两天(:所以还是得熟能生巧啊 题目分析 内核版本:v5.10,所以不存在 cg 隔离、可以使用 userfaultfdkaslr、smap、smep 开启CONFIG_SLAB_FREELIST_RANDOM 和 CONF…

VMware worksation 17 简易安装Centos8.2、Redhat8.2、Ubuntu16.04

系列文章目录 文章目录 系列文章目录前言一、VMware worksation 17 安装二、安装Centos8.2三、安装RHEL8.2四、安装Ubuntu16.04总结 前言 傻瓜式按照Linux系统,如果觉得简单,可以自定义设置,特别是配置一下磁盘空间大小,对以后排…

树莓派搭建wordpress,上传主题时显示wordpress上传的文件大小超过 php.ini 文件中定义的 upload_max_filesize 值

问题:wordpress上传的文件大小超过 php.ini 文件中定义的 upload_max_filesize 值 解决方案:进入树莓派shell界面 输入指令查找php.ini文件 find / -name ‘php.ini’ 修改php.ini文件 sudo vim /etc/php/8.1/cli/php.ini 找到 upload max filesize…

【Mac】graphpad prism for Mac(专业医学绘图工具) v10.2.3安装教程

软件介绍 GraphPad Prism for Mac是一款专业的科学数据分析和绘图软件,广泛用于生物医学和科学研究领域。它具有强大的统计分析功能,可以进行各种数据分析,包括描述性统计、生存分析、回归分析、方差分析等。同时,它还提供了丰富…

echarts 图表定时渲染刷新没效果?

定时刷新 在钩子中写定时器,定时执行 但是写了以后发现没效果,是因为vue3做了缓存,它发现你在第二次渲染的时候,节点一点没变,一次就省去了重新渲染;关键代码来了: 注意哈,注意哈,注意哈:我要开始装逼了&a…

图像压缩问题

图像压缩问题的bilibil讲解 1.问题引入 首先,图像是由像素组合成的,每个像素都有灰度值,灰度值是体现像素的颜色的。灰度值从0~255,灰度值占用的位数就是像素占用的位数。我们要存储一个图像就要存储它的所有像素。现在的问题是我…

关于装一个网易云音乐代理插件的操作方法

1.下载网易云代理插件(文件的链接如下:) 链接:https://pan.baidu.com/s/1xNvqAhjdeBy5wlc9wCeKvA?pwdlvjt 提取码:lvjt 2.对代理软件进行解压如图1所示。 图1 解压文件图 3.在解压的压缩包中以管理员的身份打开红…

list 的模拟实现

目录 1. list 的实现框架 2. push_back 3. 迭代器 4. constructor 4.1. default 4.2. fill 4.3. range 4.4. initializer list 5. insert 6. erase 7. clear 和 destructor 8. copy constructor 9. operator 10. const_iterator 10.1. 普通人的处理方案 10.2. …

C# Web控件与数据感应之 TreeView 类

目录 关于 TreeView 一些区别 准备数据源 范例运行环境 一些实用方法 获取数据进行呈现 ​根据ID设置节点 获取所有结点的索引 小结 关于 TreeView 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,本文将继续介绍与…

docker desktop实战部署oracle篇

1、前言 oracle数据库官方已提供现成的镜像,可以直接拿来部署了。 由于项目中需要使用oracle数据库的分表功能,之前安装的是standard版本,无奈只能重新安装。网上查了一番,使用的方法都比较传统老旧:下载安装包手动安…

CrossOver支持的软件多吗 CrossOver支持软件列表 crossover兼容性查询

如果你是一个喜欢在Mac上工作的用户,但又不想放弃一些Windows上的优秀软件,那么可以考虑使用一些兼容工具来运行Windows程序。其中,CrossOver就是一款功能强大且受欢迎的兼容工具。那么,CrossOver到底能支持哪些Windows软件呢&…

opencv基础篇 ——(十四)轮廓拟合

轮廓拟合是指通过数学模型(如直线、圆、椭圆或多边形)来逼近或描述轮廓的形状。这一过程有助于简化复杂轮廓,提取其关键特征,或用于进一步的分析和识别。以下是轮廓拟合在OpenCV中的一些关键概念和函数: 多边形逼近&am…

基于点灯Blinker的ESP8266远程网络遥控LED

本文介绍基于ESP8266模块实现的远程点灯操作,手机侧APP选用的是点灯-Blinker,完整资料及软件见文末链接 一、ESP8266模块简介 ESP8266是智能家居等物联网场景下常用的数传模块,具有强大的功能,通过串口转WIFI的方式可实现远距离…

HT32F52352 -- 解锁电调、电机速度控制

一、问题背景 1.1 硬件: 电池组,电子调速器(好盈电调 /ESC),接收机(HT32F52352),风扇。 1.2 软件 keil5 二、问题分析 通过1.1图中可知,我们只需要使用 HT32F52352 模拟…

【华为】路由综合实验(OSPF+BGP基础)

【华为】路由综合实验 实验需求拓扑配置AR1AR2AR3AR4AR5PC1PC2 查看通信OSPF邻居OSPF路由表 BGPBGP邻居BGP 路由表 配置文档 实验需求 ① 自行规划IP地址 ② 在区域1里面 启用OSPF ③ 在区域1和区域2 启用BGP,使AR4和AR3成为eBGP,AR4和AR5成为iBGP对等体…

智慧光伏运维管理系统功能模块详解

智慧光伏运维管理系统是针对光伏运维推出的一款物联网云平台。集数据采集、数据传输、大数据分析等信息技术于一体。实现从现场到云端,从云端到APP、Web的高效传输,进行多维度智能监控、检测、分析、预警、维保等安全管理。实现光伏电站运行期间的全方位…

书生浦语训练营第2期-第6节笔记

一、为什么要有智能体 1.1 大预言模型的局限性 幻觉:模型可能会生成虚假信息,与现实严重不符或脱节时效性:模型训练数据过时,无法反映最新趋势和信息可靠性:面对复杂任务时,可能频发错误输出现象&#xff…

C语言数组介绍

文章目录 一、数组的概念二、一维数组1.一维数组的创建2.一维数组的初始化3.数组的类型4.一维数组的使用5.一维数组在内存中的存储6.sizeof计算数组元素个数 三、二维数组1.二维数组的概念2.二维数组的创建3.二维数组的初始化4.二维数组的使用5.二维数组的输入和输出6.二维数组…

【Android学习】简单的登录页面和业务逻辑实现

实现功能 1 登录页&#xff1a;密码登录和验证码登录 2 忘记密码页&#xff1a;修改密码 3 页面基础逻辑 java代码 基础页面 XML login_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.and…

【电机控制】七段式SVPWM扇区、矢量作用时间计算——对比simplefoc与Ti例程

【电机控制】七段式SVPWM扇区、矢量作用时间计算——对比simplefoc与Ti例程 文章目录 前言一、simplefoc——通过角度找扇区1.通过角度找扇区理论1.通过角度找扇区2.矢量作用时间计算3.矢量切换时间计算——七段式 2.simplefoc代码3.解读simplefoc代码1.通过角度找扇区2.矢量作…