I have a Percona 5.6 MySQL server, on a server which has enough memory to contain the entire dataset.
Total memory allocated: 98901688320
Periodically, I observe batches of disk reads (via
Innodb_buffer_pool_reads, and through the
pool hit rate entries of the
ENGINE INNODB STATUS).
Although such batches are not so big (order of dozens of MB), along with other factors, they are causing performance problems to the server.
Since there is more than enough memory, I would expect no evictions (and consequently, no disk reads) to happen; on startup, I load all the records of the DB (via SELECT), so all the pages should be loaded in memory.
How can I tweak InnoDB to evict as little pages as possible, possibly virtually none?
Log files size: 2 * 1GB
Compression is not enabled.