Since MySQL 5.7.5, we have been able to resize dynamically the
InnoDB Buffer Pool. This new feature also introduced a new
variable — innodb_buffer_pool_chunk_size — which defines the
chunk size by which the buffer pool is enlarged or reduced. This
variable is not dynamic and if it is incorrectly configured,
could lead to undesired situations.
Let’s see first how innodb_buffer_pool_size ,
innodb_buffer_pool_instances and
innodb_buffer_pool_chunk_size interact:
The buffer pool can hold several instances and each instance is
divided into chunks. There is some information that we need to
take into account: the number of instances can go from 1 to 64
and the total amount of chunks should not exceed 1000.
So, for a server with 3GB RAM, a buffer pool of 2GB with 8
instances and chunks at default value (128MB) we are going to get
2 chunks per instance:
This means that there will be 16 chunks.
…
[Read more]