This question already has an answer here:
I have a database dedicated server with one quad-core cpu and 48GB Memory.
Total database size is about 6GB and my ultimate goal is to get the maximum performance out of this system.
At First, to get maximum performance I set innodb_buffer_pool_size to '35GB' with innodb_buffer_pool_instance to 5, thinking that each instance will take up 7GB so total 35GB will be optimum.
But after several days, Innodb_buffer_pool_pages_free says I had 26GB free space in the buffer pool.
So I increased the instances number to 10 and waited some weeks, but the Innodb_buffer_pool_pages_free says about the same thing.
Was my calculation(expecting that 7GB * 5 instances would take up 35GB of buffer pool) wrong? Then how can I use all the free buffer pool size? Should I increase the buffer pool instances even more? Or run 2 mysqld processes to get replication or something?
If anyone get any clue, please give some hint to get the point right about my issue.