[MDEV-26547] Restoring InnoDB buffer pool dump is single-threaded for no reason Created: 2021-09-06 Updated: 2022-11-28 Resolved: 2021-09-06 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6 |
| Fix Version/s: | 10.5.13, 10.6.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | performance | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Loading the InnoDB buffer pool at startup is only using a single thread. This can be easily confirmed by starting the server and checking that perf top -H only shows one thread being active. There is no reason at all to pass the parameter sync=true to buf_read_page_background(). If we allow buf_load() to submit asynchronous reads, multiple page checksums will be computed in parallel by the read completion threads while further pages are being read into the buffer pool. |