Обложка канала

Хмельной Девопс

Будничный хаос и мрак при поддержке ИТ систем.

Хмельной Девопс

8 лет назад
Открыть в
В последнее время очень часто на глаза попадаются дискуссии по поводу того стоит ли использовать swap на серверах или нет. Давайте разбираться. На данный момент оперативная память не является огромной проблемой для серверов. В хецнере меньше чем за 50 евро вы из коробки получаете 64Gb памяти. Прочитав кучу обсуждений я вынес для себя два сценария поведения:

1. Если вы хотите чтобы ваш сервис медленно деградировал - используйте swap. Вообще ситуация маловероятная, если оперативной памяти достаточно. Linux будет сбрасывать в кеш только действительно редкоиспользуемые страницы памяти, освобождая место для активных процессов и дискогового кеша. Проблемы начинаются тогда, когда у вас начинает активно свопиться редис или, к примеру, постгрес. Тогда сервис вроде бы работает, но как-то медленно. Что касается веб фронтов с healthchecks тут навряд ли будет какое-либо переключение, потому что ноды-то доступны.

2. Если вы хотите применять тактику fast fail - не используйте swap. Да, действительно, система начнет убивать процессы, которые используют много памяти. И это приведет к достаточно быстрому переключению на работающую ноду. Если у вас есть резерв конечно. Ну и в общем случае делать мониторинги на доступность намного проще, чем на время отклика, к примеру.

Итого, как любят говорить мои заокеанские коллеги - it depends. Делаем все по ситуации, главное не забываем про мониторинг каждого компонента. Тогда наступит счастье.