Google Cloud SQL неверный innodb_buffer_pool_size? - PullRequest
0 голосов
/ 09 мая 2019

На прошлой неделе я обновил свой облачный SQL-компьютер с 0,6 ГБ оперативной памяти «db-f1-micro» до 3,75 ГБ оперативной памяти «db-n1-standard-1». Бег:

SELECT @@innodb_buffer_pool_size;

Вывод:

1375731712

который я считаю 1,38 ГБ. Вот использование памяти для основной и реплики:

mem usage

Это кажется странно низким для этого типа машины, но, изучая ( Как установить innodb_buffer_pool_size в mysql в Google Cloud SQL? ), я не могу изменить innodb_buffer_pool_size. Это как-то динамически устанавливается и медленно увеличивается со временем? Похоже, что Google не достигает диапазона 75-80%, на который они нацелены.

1 Ответ

0 голосов
/ 10 мая 2019

Какое значение innodb_buffer_pool_chunk_size и innodb_buffer_pool_instances?

innodb_buffer_pool_size всегда должно быть равно или кратно произведению этих двух значений и будет автоматически настроено на это.Размер чанка может быть изменен только при запуске, как объяснено на странице документации для конфигурации размера пула буферов InnoDB .

В частности, для Google CloudSQL, не только абсолютный, но и относительный размерinnodb_buffer_pool_size зависит от типа экземпляра.Я работаю для поддержки GCP, и после некоторых исследований нашей документации я могу сказать, что размер пула автоматически настраивается на основе внутренней формулы, которая может быть изменена.Вносятся улучшения, чтобы сделать экземпляры более устойчивыми к OOM, и в этом важную роль играет размер пула буферов.

Таким образом, ожидается, что поведение будет соответствовать вашему новому типу экземпляра и, возможно, другим innodb_buffer_pool_chunk_size иinnodb_buffer_pool_instances, вы можете получить совершенно измененное использование памяти.В настоящее время пользователь не имеет контроля над innodb_buffer_pool_size.

...