Innodb buffer pool size in Azure Database for MySQL

Wenjian Feng 41 Reputation points
2021-03-25T04:03:06.13+00:00

We have a Azure Database for MySQL instance, detail info as below:

  1. Version: Single Server
  2. Pricing tier: General Purpose
  3. Computer genration: Gen 5
  4. vCores: 8

From below link, for 8 vCores should be 40GB memory as 5GB/vCore.
concepts-pricing-tiers

From below link, for 8 vCores and general purpose pricing tier, both default and max innodb_buffer_pool_size size are 16106127360 (15GB).
concepts-server-parameters

My question: why innodb buffer pool size limit as 15GB? In my opinion, innodb buffer pool size should be 70 to 80 percent of physical memory. For 8 vCores should be 40GB memory as 5GB/vCore, so innodb buffer pool size max size should be 40GB * 70%~80% = 28GB~32GB. But from the document, max value are 15GB. It's very confusing to me.

Azure Database for MySQL
Azure Database for MySQL
An Azure managed MySQL database service for app development and deployment.
986 questions
0 comments No comments
{count} votes

Accepted answer
  1. Anurag Sharma 17,631 Reputation points
    2021-03-25T06:10:55.723+00:00

    Hi @Wenjian Feng , welcome to Microsoft Q&A forum.

    In Azure Database for MySQL, innodb_buffer_pool_size depends on the storage size and vCores both.

    For storage size up to 4 TB, the max value is kept at 16106127360 bytes (close to 16 GB).

    For storage size up to 16 TB, the max value is kept at 32212254720 bytes (close to 32 GB).

    Below is the screenshot of Azure MySQL server with 8 vCores and 16 TB of storage size:
    81356-image.png

    You can refer the same in below link:
    innodb_buffer_pool_size

    Please let us know if this helps.

    ----------

    If answer helps, please mark it 'Accept Answer'


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.