The InnoDB buffer pool hit rate is the number to watch

Almost every “the database is slow” investigation ends at the same place: the working set no longer fits in memory, so reads that used to be free are now disk. One ratio says whether that is what is happening.

SELECT ROUND(100 * (1 - (
         SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS
          WHERE VARIABLE_NAME = 'INNODB_BUFFER_POOL_READS'
       ) / (
         SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS
          WHERE VARIABLE_NAME = 'INNODB_BUFFER_POOL_READ_REQUESTS'
       )), 2) AS hit_rate_pct;

Above 99% is healthy and the number is cumulative since restart, so a server up for six months averages away a bad week — the useful version samples both counters twice and computes the rate over the interval. A falling hit rate with unchanged traffic means the data grew past the pool, and the fix is either more memory or less data, not a better index.