The advice to set the buffer pool to 70-80% of RAM assumes a dedicated database server, and this one also runs PHP and Redis.
the host: 16 GB
php-fpm, 20 children × ~90 MB 1.8 GB
redis, maxmemory 1.0 GB
nginx, os, everything else 1.0 GB
page cache, needed for the OS 1.5 GB
────────────────────────────────────────
available for innodb ~10 GB
set to 8 GB
and the number that says whether it is enough:
buffer pool hit rate, 99.4%
The hit rate is what should drive the number, not a percentage of total memory — 8 GB at 99.4% is doing its job, and adding another two would buy a fraction of a per cent while pushing the machine toward swapping. Working it out from what else runs on the box takes ten minutes and is more defensible than a rule of thumb from a single-purpose server.