|什么是自适应参数服务器
MySQL8.0推出一个号称能够自适应服务器的参数,保证在各类不一样的服务器、虚拟机、容器下自动适配服务器资源,让咱们一块儿来看看到底它能作到什么地步。3d
|自适应参数是如何设置和适应变化的日志
能够设置参数 innodb_dedicated_server=ON来让MySQL自动探测服务器的内存资源,肯定innodb_buffer_pool_size, innodb_log_file_size 和 innodb_flush_method 三个参数的取值。具体取值策略以下。server
innodb_buffer_pool_size:blog
● <1G: 128M(innodb_dedicated_server=为OFF时的默认取值)
● <=4G: 探测到的物理内存 * 0.5
● >4G: 探测到的物理内存 * 0.75内存
innodb_log_file_size:资源
● <1G: 48M(innodb_dedicated_server=为OFF时的默认取值)
● <=4G: 128M
● <=8G: 512M
● <=16G: 1024M虚拟机
● >16G: 2Ginnodb
innodb_flush_method:容器
若是系统容许设置为O_DIRECT_NO_FSYNC。若是系统不容许,则设置为InnoDB默认的Flush method。
上述这些参数在MySQL每次启动时自动探测服务器(包括虚拟机和容器的内存)配置并自动生效。
|自适应参数使用注意
● innodb_dedicated_server默认设置为OFF,不会自适应调整3个参数值。该参数也不是动态参数,没法动态调整,也就是说MySQL启动后没法修改这个参数
● innodb_dedicated_server=ON 设置之后它其实只探测了服务器内存,因此目前只能自适应调整内存相关的三个参数
● innodb_dedicated_server=ON的状况下,若是还显式设置了 innodb_buffer_pool_size / innodb_log_file_size / innodb_flush_method 参数,显示设置的这些参数会优先生效,而且在MySQL的错误日志中会打印以下内容:
'variable name' 指的就是 innodb_buffer_pool_size/innodb_log_file_size/inndob_flush_method参数。