Emergency

How to minimize the InnoDB page evictions in a MySQL full in-memory db?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to minimize the InnoDB page evictions in a MySQL full in-memory db?

    Hello everyone
    I have a Percona 5.6 MySQL server, on a server which has enough memory to contain the entire dataset.

    Specifically:

    `Total memory allocated`: 98901688320
    `Innodb_buffer_pool_bytes_data`: 79246950400

    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?

    Extra notes:

    Log files size: 2 * 1GB
    Compression is not enabled.
    Thanks
Working...
X