Задать вопрос
@kirill-93

Как же работает кэш в innoDB?

Несколько раз спрашивал, все же непонятно. У меня база mysql innodb, после перезагрузки сайт адски тормозит и висит некоторое время. В это время заполняется память на сервере, я так понимаю это innodb_buffer_pool_size, значение которого выставлено в 20ГБ. Запросы относительно простые, отпимизировать, как показывает explain, нечего.
Вот что мне неясно:
1) Неужели каждый запрос должен закэшироваться, чтобы выполняться нормально?
2) innodb_buffer_pool_size кэширует результаты выборки, то есть результаты моих запросов закэшируются, а чьих-то других нет? При условии, что для каждого пользователя делается индивидуальная выборка. В этом случае новый пользователь будет также видеть "висячий" сайт, пока его запрос не закэшируется?
3) Может быть еще что-то кроме кэша "тормозит" систему после перезапуска базы?
В общем непонятно, настройки вроде все в порядке, но меня смущает, что после перезапуска сайт "лежит". Хотя возможно что так и должно быть.
4) Подскажите пожалуйста, сколько в нормальном состоянии должно быть свободной памяти на сервере. Перед перезагрузкой параметр innodb_buffer_pool_size был выставлен в 22ГБ, всего на сервере 32ГБ памяти и free показывал 400Мб свободной памяти. При этом несколько ГБ в shared и несколько ГБ в buff/cache, а также 600Мб в свопе. Когда стоит беспокоиться о нехватке памяти?
5) При большом параметре innodb_buffer_pool_size, если память начнет заканчиваться, будет ли сервер сам уменьшать это значение или сервер ляжет?
Помогите, пожалуйста, разобраться. Спасибо.
  • Вопрос задан
  • 294 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
4utka_pyan
@4utka_pyan
Запросы относительно простые, оптимизировать, как показывает explain, нечего

Включите slowlog и перезагрузите сервер, потом посмотрите через полчасика и если там будет пусто, тогда можно верить что с запросами всё в порядке.
Само по себе заполнение оперативной памяти не должно тормозить систему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы