MySQL 8.0 新特性:innodb_dedicated_server

文若2年前技术文章1330


一、前言

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


相关文章

mysql插入之前先测试环境试试

在生产环境中直接执行数据库操作可能会引起一系列问题,比如性能下降、数据不一致甚至系统崩溃。因此,在实际操作前在测试环境中进行彻底的测试非常重要。测试环境准备:确保测试环境与生产环境尽可能一致。这包括硬...

gitlab的备份和还原

由于gitlab中存放的都是开发人员的工作成果,所以为了保证数据安全,我们会定期对数据进行备份,对gitlab进行备份将会创建一个包含所有库和附件的归档文件。对备份的恢复只能恢复到与备份时的gitla...

nginx配置反向代理某个url

nginx配置反向代理某个url

本文讲的这个漏洞 主要是为了解决漏洞扫描的问题我先介绍下这个漏洞主要是因为访问https://172.16.120.17:18090/ws/v1/cluster/info这个 yarn rest的一个...

MySQL运维实战之ProxySQL(9.10)proxysql监控

MySQL运维实战之ProxySQL(9.10)proxysql监控

stats数据库从stats数据库中可以查到proxysql一些内部组件的状态,如内存使用情况、连接池信息、会话信息、SQL执行状态等。mysql> show tables&...

scylladb下线数据中心

1、在要下线的老数据中心所有节点运行数据修复nodetool -h ::FFFF:127.0.0.1 repair -pr2、更改所有业务keyspace的复制策略不在写入老的数据中心--查看所有的k...

GitLab Agent Server (KAS)

GitLab Agent Server (KAS)

安装KAS参考资料独立部署的gitlab开启KAS独立部署的gitlab安装kas比较简单,首先编辑gitlab的配置文件/etc/gitlab/gitlab.rb# 取消相关注释 ##! Enab...

发表评论    

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