WL#9193: Autoscale InnoDB resources based on system resources by default

Affects: Server-8.0   —   Status: Complete

The current default configuration targets a minimal configuration of around 512M of memory.

As many deployments are in virtual machines or isolated containers, and user expectations are changing towards ease-of-use, we need an easier way to expand the target configuration to consume all resources on the machine.

Thus; a new option innodb_dedicated_server is introduced which could be set OFF/ON. If ON, settings for following InnoDB variables (if not specified explicitly) would be scaled accordingly

  • innodb_buffer_pool_size (to consume appropriate amount of memory).
  • innodb_log_file_size
  • innodb_flush_method

Upgrade Story


This default changes MySQL's approach to resource allocation from trying to fit within an approximately 512M memory foot print, to assuming it can consume all system resources. This has the benefit that most users will no longer need to make any configuration changes to MySQL in order for it to perform well out of the box.

In cases where MySQL can not consume all system resources (for example a Developer's workstation) it is recommended to revert to the previous configuration (where approx 512M of RAM is used). This can be done by setting innodb_dedicated_server=OFF.