MariaDB innodb bufferpool load taking long time When I am restarting my MariaDB database engine it takes a long time to show 'innodb bufferpool load completed' depending on data volume. Is there a way to make it faster?
+-------------------------------------+----------------+
| Variable_name                       | Value          |
+-------------------------------------+----------------+
| innodb_buffer_pool_chunk_size       | 100000000      |
| innodb_buffer_pool_dump_at_shutdown | ON             |
| innodb_buffer_pool_dump_now         | OFF            |
| innodb_buffer_pool_dump_pct         | 25             |
| innodb_buffer_pool_filename         | ib_buffer_pool |
| innodb_buffer_pool_instances        | 29             |
| innodb_buffer_pool_load_abort       | OFF            |
| innodb_buffer_pool_load_at_startup  | ON             |
| innodb_buffer_pool_load_now         | OFF            |
| innodb_buffer_pool_size             | 100000000006   |
+-------------------------------------+----------------+
Assuming the buffer pool was completely full, this would mean 25G (based on innodb_buffer_pool_dump_pct) would be loading.
The loading of the innodb buffer pool is throttled by the setting of innodb_io_capacity.
The loading is also throttled heavily if there is other server activity in innodb.
Reading this amount from disk, especially in a random read pattern that would happen with innodb loading can take some time.
The loading thread currently is also single threaded. It is also blocking that one (space,page) is loaded at a time.
MDEV-9930 was written a while ago however without enough details to action.
Looking at the code now, there a significant performance enhancements possible. If increasing the innodb_io_capacity significantly doesn't improve this to your desired level, please write a bug report or include details in MDEV-9930 to be improved.
Edit:
MariaDB now documented this (MDEV-25366 document innodb buffer pool loading dependency on innodb_io_capacity).
MariaDB is looking for better solutions on reducing the throttling time based on your question here (MDEV-25417 reduce InnoDB buffer pool load time).