Подписаться на блог

Как хостить MySQL на маленьких VPS

Недавно я начал хостить бложик (apache + mysql + nginx + пара сервисов на nodejs) на самом дешевом дроплете от Digital Ocean (надо ж кредитные токены DO куда-то потратить).

Внезапно столкнулся с проблемой, что контейнер MySQL периодически умирает от OOM киллера, MySQL с небольшим количеством данных съедала ну очень много памяти в простое.

Платить больше я не хотел, а воспоминания, что когда-то MySQL крутилась у меня на прямо маленьких VPS никак не давала покоя.

Оказалось, что есть такая штука, как Performance Schema.

The MySQL Performance Schema is a feature for monitoring MySQL Server execution at a low level.
The Performance Schema provides a way to inspect internal execution of the server at runtime.

Дальше я не особо читал, конечно, погуглил чуть, решил поэкспериментировать.
Добавляем в конфиг в секцию [mysqld] строчку, чтобы отключить эту фичу (я просто примонтировал новый конфиг), перезагрузил сервис и бах — случилась магия и теперь MySQL кушает гораздо меньше ресурсов. А мониторить мне пока не к чему.