Since 5.7 its possible to set "dynamic" Buffer Pool Sizes with:
innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances
How exactly does that work? I have a fairly small server with 4 Cores and 16GB RAM with a PHP business application on it. I now have located 8GB as static Pool Buffer(around 70-80% Key Efficiency & 99% Buffer usage).
On the server is also a Java MassMailer that runs on average once per day, so i keep ~8GB free for the mailer. I have programmed the MassMailer in a way that he will just load as many emails as the memory allows.
Can i use that new dynamic Buffer Pool feature to allocate during the normal workload to around 12GB and take some while sending mails? Can i ajust it manually or does the MySQL server that automatically? Will the server give some memory back if the mailer wants more or will it throw a "out of memory" exception?