Why are there any Innodb_buffer_pool_reads for a small db? I have a small DB, &lt; 400MB, using MariaDB 10.4 on a machine with 16GB ram. I've set the innodb_buffer_pool_size to 2G while running some query performance tests.

With the size set to 2G, more than 4x the total size of the DB, why would I get any Innodb_buffer_pool_reads? Why wouldn't all reads be found in the buffer pool?

After a test run I get
  Innodb_buffer_pool_read_requests = 280,980,648
  Innodb_buffer_pool_reads = 27,089

I don't mind the hit rate; I'm just wondering if I misunderstand something about the buffer pool.
These are counts since the server was started.

The pages must have been read at some stage to get into the buffer pool.

As a test, try a mysqldump --all-databases --skip-locks to ensure every row is read. And then look at the Innodb_buffer_pool_reads. Then see if this value increases over the next few days.