В настройках серверов я пока, к сожалению не очень.
На серваке стоит MySQL. Работает хорошо, все ок. Заглянул в htop, там 18ГБ памяти занято (всего 32). Перезагрузил MySQL, занято осталось 3ГБ.
Сразу после перезагрузки база отвечала очень медленно, буквально по пол минуты на простые запросы и постепенно как бы разогналась и стала опять работать хорошо. Это произошло минут через 5. Память к этому времени забилась до 12ГБ.
База не очень большая, весь дамп около 3ГБ. Пользователей на сайте тоже почти нет. Максимум 30-50.
У меня вопросы:
1) Нормально ли, что база загружает столько памяти?
2) Должна ли она после рестарта так долго "разгоняться" или что-то не так?
Абсолютно нормально. Это называется "кеширование данных". При старте MySQL заново подгружает данные в кеш в оперативную память. Поэтому первые запросы идут долго. Повторный запуск этих запросов просто выгружает ранее полученные данные из кеша.
Страшно становится, что больше половины памяти занимает MySQL. При том, что проект на половину в разработке и данные постоянно растут. Что же будет дальше и сколько памяти нужно?
начинается юзаться свопинг - четкий сигнал к масштабированию. хотя нюансов тут много, крайне много. Железо, ОС, настройки ОС, настройки БД, настройки ПХП (или что там у вас), код сайта и еще куча разный моментов...