MySQL 8.0 新特性:innodb_dedicated_server

文若2年前技术文章1227


一、前言

  1. Innodb Dedicated Server 是 8.0 版本推出的一个参数,开启之后可以根据服务器的配置自适应 innodb 引擎中的一些重要影响性能的参数,默认是关闭的。

carbon.png

二、参数测试

  1. 使用 mysql_install 脚本快速部署一台 MySQL 8.0 实例:

carbon.png

  1. 然后我们测试一下这个参数,修改配置文件后重启数据库:

carbon.png

  1. 下面是未开启 innodb_dedicated_server 使用 mysql_install 脚本安装 MySQL 参数信息:

carbon-1.png

  1. 此时为们使用的系统配置是 2C4G 发现 MySQL 为我们自适应四个参数分别是:

    1. innodb_buffer_pool_size:innodb 引擎中最大的缓冲池;

    2. innodb_log_file_size:Redo 重做日志的使用空间;

    3. innodb_flush_method:控制数据文件及重做日志打开及刷写的模式,可以参考 MySQL 官方文档

    4. innodb_log_files_in_group (MySQL 8.0.14 起):重做日志的组数;

三、详细介绍

  1. innodb_buffer_pool_size 自适应策略:

    1. 物理内存 < 1 G:128M (默认)

    2. 物理内存 1G~4G:detected server memory * 0.5

    3. 物理内存 > 4G:detected server memory * 0.75


  1. innodb_log_file_size 自适应策略:在 8.0.14 之前根据服务器物理内存设定,之后会根据 buffer pool 适应,我们重点介绍 8.0.14 之后的 GA 版,详细请参阅 MySQL 官方文档

    1. buffer pool < 8G:512M

    2. buffer pool 8G~128G:1024M

    3. buffer pool > 128G:2048M


  1. innodb_flush_method 自适应策略:

会被默认设置为 O_DIRECT_NO_FSYNC 模式,如果 O_DIRECT_NO_FSYNC 模式不可用则会使用默认值。


四、注意事项

  1. 该参数不支持在线修改,需要重启数据库;

  2. 如果配置中已经显式指定对应的参数,则会已配置文件为准,不会自适应,也就是说如果想自适应那几个参数,开启 innodb_dedicated_server 即可,不需要再设定;

  3. 单机多实例不建议使用;

  4. 只适用于 innodb 引擎,如果业务使用其它存储引擎则该参数也无意义;

  5. 对云厂商很优化,扩展配置后不需要考虑这些重要参数。

-- 文章参考 MySQL 官方文档


相关文章

数据湖技术之iceberg(十)Structured Streaming实时写入Iceberg

数据湖技术之iceberg(十)Structured Streaming实时写入Iceberg

目前Spark中Structured Streaming只支持实时向Iceberg中写入数据,不支持实时从Iceberg中读取数据,下面案例我们将使用Structured Streaming从Kafk...

HBase使用snappy压缩

HBase使用snappy压缩

安装编译环境依赖yum install -y automake autoconf gcc-c++ cmake libedit libtool openssl-devel ncurses-devel安装...

Doris 介绍及使用场景

Doris 介绍及使用场景

Doris 介绍                    Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据...

 MySQL 两阶段提交

MySQL 两阶段提交

说明MySQL 开启 Binlog 后,所有的事务都会产生 Binlog Event,这些 Event 也是事务数据的一部分。本篇文章介绍 MySQL 如何保证事务 Binlog Event 和 In...

添加环境变量的两种方式

添加环境变量的两种方式

添加环境变量的几种方式:1.添加当前用户的PATH环境变量,作用范围仅限于当前用户修改用户目录下的 .bashrc修改后立即生效。vim ~/.bashrc2.添加所有用户的PATH环境变量,适用于所...

MySQL运维实战之ProxySQL(9.6)SQL黑名单

利用mysql_query_rules表中的error_msg字段,可以实现SQL黑名单的功能。如果规则设置了error_msg,当SQL语句匹配这条规则时,proxysql会直接将error_msg...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。