Настройка SWAP, ускорение и стабилизация работы сервера

При инсталляции одного сервера я имел еще немного опыта и по совету серверного администратора установил небольшой swap в 512 мегабайт. Что такое swap в целом для сервера, это хранилище данных для выгрузки из оперативной памяти, когда там разумное уже наполнение. То есть если говорить более чётче, у вас, например, 32 гигабайта оперативной памяти и вы отдали гигов 12 под разного рода буфера для ускорения работы, осталось 20 гигов, которые могут забиться. Здесь в линуксах стоит параметр, который определяет при каком размере наполнения данных вы можете сбросить данные уже в swap на диске, чтобы избежать нагрузки и увеличить размер возможностей для исполняемых данных.

Это я пытаюсь описать суть простым языком, надеюсь опытный серверный администратор, мыслящий категориями более точными не начнёт меня за это ругать. Но в общем то swap желательно иметь, бывает, что процессы разбухают до больших размеров и без swap вы можете оказаться в ситуации что, начнёт сервер притормаживать или просто маленький swap забьётся и вы снова ощутите тормоза и не будете знать в чем проблема. И закончу эту часть прочитанной фразой: хотите увидеть спор сисадминов, спросите их о необходимости и размере swap.

Как посмотреть размер SWAP и его загрузку

Первое с чего стоит начать, это глянуть размеры swap и его загрузку на сервере или vps. Заходите в top или htop, без разницы что у вас там стоит и там вы увидите данные о размере swap и его загрузке. Я раньше мало внимания на это обращал, пока не начались некоторые тормоза в определенные моменты работы. А там просматривая все данные увидел, что все 512 мегабайт забиты и соответственно тормозит сервер. Итак, вы зашли и увидели размер swap и его загруженность. Если она критичная, то есть он забит на 100% то стоит задуматься об увеличении места, но тут вылезает очень интересный момент: не получится увеличить физический размер swap без потерь данных, так как это фактически форматирование дисков. А если у вас рабочий сервер, то это уже точно проблема. И тут мы вытаскиваем простое решение в виде виртуального swap, который очень легко создаётся.

Создание виртуального SWAP

Что такое виртуальный swap. Это по сути тоже самое, физическое место на диске, но реализованное в виде виртуального диска файла, подключаемого в fstab.conf. Если говорить понятнее: вы делаете файл, заполняете его нулевыми данными, соответственно размер нужный и затем подключаете его к работе сервера как swap диск. Никаких форматирований и проблем. Отличное решение кстати. Я решил так и сделать. Обдумал размеры, которые стоит указать. Если памяти у меня 32 и порядка 12-16 гигов заняты буферами разного уровня, то в работе с процессами участвуют 16 гигов, значит сделаю себе такой же размер swap. Далее внимательно смотрите порядок создания:

  • Заходим в ssh и там проверяем размер дисков: df -h;
  • Даём команду на создание файла с нулями sudo fallocate -l 16G /swapfile;
  • Другой вариант создания файла: dd if=/dev/zero of=/swapfile bs=1M count=16384;
  • Теперь надо дать права доступа к файлу для root: sudo chmod 600 /swapfile или chmod 600 /swapfile;
  • Включаем swap и указываем файл: swapon /swapfile
  • Вносим в fstab.conf данные о swap: /swapfile swap swap defaults 0 0

Дальше можно для надёжности произвести перезагрузку. И после этого уже начинать фиксировать результаты.

Настройка SWAP, ускорение и стабилизация работы сервераНастройка подключения swap

Теперь немного о общих настройках подключения swap. Обычно по стандарту стоит, что после использования 60% памяти начинают данные перекладываться в swap для экономии памяти. Чтобы проверить это точно делаем следующую команду: cat /proc/sys/vm/swappiness и видим цифры результата. Если там стоит стандартно 60, то значит, что при достижении этого параметра из памяти данные переходят в swap.

Теперь проверим параметр vfs_cache_pressure, который уже даст вам значение насколько ваш линукс будет удерживать кэши в оперативке или же переносить в swap. Для проверки вводим команду: cat /proc/sys/vm/vfs_cache_pressure. В ответе снова будут цифры и их значения обозначают следующее:

Параметры vm.vfs_cache_pressure:

0 — не кэшировать.
100 — как есть стандартно.
>100 — агрессивно кэшировать дисковые операции.

В принципе дальше вы можете для себя выбирать какие параметры стоит выставить. Я сделал себе виртуальный своп на 16 гигабайт, оставил стандартно 40% и также оставил среднее в 100 кэширование. Теперь по итогам проверки вижу, что своп используется примерно 5 гигабайт из 16 за сутки. Значит он был нужен, и эта операция была нужна.

Кроме этого сразу снизились параметры нагрузки и перестали выскакивать скачки непонятные, когда процесс оставался в свопе, забивал его и тормозил в целом сервер. Пишите свои наблюдения и опыты, будет интересно прочесть.

Да кстати команда sysctl -pона поможет вам подцепить данные, без общей перезагрузки.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь

СЕГОДНЯ ЧИТАЮТ

Как определить задействованные файлы WordPress на странице сайта

Часто бывает что при работе с сайтом надо понимать структуру файлов, задействованных в формировании страницы со стороны Wordpress. Это вроде бы простая операция, однако...

Поздравляю с новым 2018 годом. Мои пожелания!

Хочется всех поздравить с Новым годом и пожелать по настоящему приятного и нужного на весь год. Но странное дело, задумался, а что же пожелать, чтобы...

Instantcms – развитие, история, плюсы и минусы

Instantcms это система управления сайтов, которая была создана в далёком 2007 году. К сожалению, я не знаю истории возникновения системы изначальной, так как первую...

OkWp (WordPress) новая сборка 1.1, описание и возможности

Представляю вам новую версию варианта сайта на Wordpress с новым названием OkWp, что можно расшифровать как оптимально настроенный готовый к работе вариант сайта с...

Обзор всех существующих WYSIWYG web редакторов для сайтов

WYSIWYG web редакторы, это редакторы, которые используются для работы с контентом сайта. Как правило в каждой из cms идёт свой выбор редакторов, но на...

Лучшие 5 плагинов для поиска на сайте WordPress, обзор и описание

Думаете об улучшении поисковых запросов на вашем сайте WordPress? Мощные поисковые плагины - лучший способ сделать это. По умолчанию WordPress включает функцию поиска, но она довольно...

ПОХОЖИЕ МАТЕРИАЛЫ

10 причин открытия интернет-магазина для малого и среднего бизнеса

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

10 плагинов WordPress для создания форума: настройка, описание и управление

Онлайн форумы или доски объявлений безумно популярны среди пользователей всех видов, уровней знаний и интересов. Просто подумай об этом. У вас есть вопрос об...

Улучшения и дополнения в WordPress 5.5 (Возможности и скриншоты)

Выпущена бета-версия WordPress 5.5, выход которой запланирован на 11 августа 2020 года. Это будет второй по значимости выпуск WordPress в этом году, и он...

Jetpack 8.7 добавляет функцию развертывания Tweetstorm, улучшает настройку поиска

Jetpack 8.7 был выпущен на этой неделе с потрясающей новой функцией, которая позволяет пользователям «развернуть» твитторм и опубликовать его в посте. Функция работает внутри блока Tweet. После...

Обзор улучшений и изменений в редакторе Gutenberg 8.5

Gutenberg 8.5 добавляет редактирование изображений из одной галереи, позволяет загружать изображения из внешних источников и улучшает перетаскивание. Команда Гутенберга выпустила версию 8.5 своего плагина для общественности. Это...

Установка, настройка, оформление темы Woodmart – учимся ставить на сайт

Многие работают с темой Woodmart, которая является одной из лучших тем для создания интернет магазина. Поэтому я делаю статью инструкцию по вопросам и ответам...