Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
There are numerous data structures that need to be "warmed up" after restart to reach optimal performance.
One of them is InnoDB buffer pool. Since 10.0 it can be dumped at server shutdown and loaded at server startup.
But it's not the only one. There are other caches too. And there are auto-tuning structures, for example, table cache is automatically partitioned when it becomes a concurrency bottleneck. It might make sense to save and restore the value of table_open_cache_active_instances too.
A uniform approach to this problem would be to introduce a concept of "state", which can be saved and loaded. On shutdown/on startup. Or on request, if possible.
Various subsystems will dump there. Plugins will have a callback to dump/load the state.
This task is only about InnoDB buffer pool and table_open_cache_active_instances. Adding anything new to the "state" will be a separate task.
Thoughts:
- loading the cache after upgrade, downgrade, or installing/uninstalling plugins. We can prohibit it right away. If we allow it, different data chunks must be tagged somehow, to skip over the state of unloaded plugins, for example. And to not load memory dumps where the structure has changed after the upgrade.