After an upgrade from MySQL 5.7 to 8, the startup time increased from <1 minute to 20-40 minutes. The startup procedure freezes at "(mysqld 8.0.13-4) starting as process" .
During the freeze, the process CPU usage is more or less idle while the storage (HDD RAID array) is overloaded, doing 100-200 read requests/second (average 3-6MB/s). Since RAID array is capable of over 1000 read requests per second when doing multithread reads, this suggests the internal job is single threaded. The disk and cpu usage pattern are strikingly similar with the ones experienced during upgrade.
The database has over 70K tables and is very large. All tables are using InnoDB. Before upgrade, restart cycle was constant to less than 3 minutes. Configuration parameters were kept the same with the except of InnoDB buffer which was doubled in size. To be noted that server is configured not to dump or load any part of InnoDB buffer during shutdown/startup