MySQL 8.0 新特性:innodb_dedicated_server

文若3年前技术文章1373


一、前言

  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 官方文档


相关文章

rabbitmq-迁移方案

rabbitmq-迁移方案

rabbitmq共有两种迁移方案:迁移方式优点缺点可用性原理文件导入方式数据100%成功业务要修改地址暂停提供服务可以使用拷贝元数据方式添加集群方式不可用,数据会丢失(添加机器之前会清空之前所有的信息...

Flink关于HiveCatalog

HiveCatalogHiveCatalog 有两个用途:作为原生 Flink 元数据的持久化存储,以及作为读写现有 Hive 元数据的接口。配置在flink-sql-connector-hive-1...

数据湖技术之iceberg(五)Hive与Iceberg整合

数据湖技术之iceberg(五)Hive与Iceberg整合

1.  版本支持约束条件Iceberg就是一种表格式,支持使用Hive对Iceberg进行读写操作,但是对Hive的版本有要求,如下:Iceberg 与 Hive 2.x 和 Hive 3....

ubuntu安装mysql

执行sudo apt install mysql-server启动mysqlsudo systemctl start mysql查看状态sudo systemctl status mysql查看默认密...

Kafka日志管理

Kafka在运行时会生成大量的日志记录信息,包含了运行状态、错误信息、性能指标等。这些日志文件会占用很大的磁盘空间,过多的日志文件也会影响Kafka的性能,因此需要采取一些日志管理措施来清理无用的日志...

数仓主流架构简介之一

数仓主流架构简介之一

一、Lambda架构Apache Storm的创建者Nathan Marz于 2011 年开发,旨在解决大规模实时数据处理的挑战。Lambda数据架构提供了一个可扩展、容错且灵活的系统来处理大量数据。...

发表评论    

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