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

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она поможет вам подцепить данные, без общей перезагрузки.

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

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

54 + = 60

OK2WEB
OK2WEB
Более 12 лет занимаюсь разработкой и продвижением сайтов. Городские порталы, информационные и новостные сайты. Сейчас в основном разрабатываю интернет магазины и коммерческие сайты. Если у вас есть вопросы пишите, стараюсь оперативно ответить и помочь.

Оптимизация графики в WordPress, отключаем лишние, сжатие, чистка размеров графики

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

WordPress 6 изучаем что было добавлено, улучшения и дополнения

Поздоровайтесь с «Arturo» и новой версией WordPress 6.0, вдохновленными обладателем Грэмми джазовым музыкантом Артуро О'Фарриллом . Известный своим влиянием на современный латиноамериканский джаз, Артуро выпустил более 15 альбомов, охватывающих работу за пять десятилетий. Потратьте некоторое время на изучение WordPress 6.0, созданного, чтобы помочь вам раскрыть...

Нехватки памяти для работы сайта WordPress – увеличиваем память в конфиге сайта

Просматривая журналы работы сайта вы можете увидеть очень частую ошибку нехватки Wordpress. Обычно это этом пишет предупреждение: PHP Warning: Use of undefined constant ‘WP_MEMORY_LIMIT’ - assumed '‘WP_MEMORY_LIMIT’' (this will throw an Error in a future version of PHP) То есть Вы видите ошибку исчерпания...

Google консультирует что запросы и показы в поиске отличаются по цифрам

Адвокат Google по поиску Джон Мюллер говорит, что показы, которые ваш сайт получает по ключевому слову, не являются показателем объема поиска по этому ключевому слову. Об этом говорится в Twitter в ответ на вопрос о том, можно ли использовать данные о показах в Google Search...

Инструкция WordPress cron, запуск, управление, решение ошибок, основные параметры

WP-Cron выполняет определенные задачи для сайтов на WordPress. Название Cron происходит от системы Unix для планирования заданий, от одного раза в минуту до одного раза в год. Будь то плановое обслуживание или запланированные предупреждения, любая команда, которая может быть выполнена в Unix без вмешательства...

Как использовать частный адрес Wi-Fi на iPhone и iPad

Последняя мобильная операционная система Apple предоставляет новую функцию безопасности, называемую частным адресом . Это помогает защитить ваши личные данные в общедоступных или незнакомых сетях Wi-Fi. У каждого устройства есть собственный встроенный адрес. Эта новая функция случайным образом создает новый адрес, поэтому ваше устройство с меньшей вероятностью будет идентифицировано злоумышленниками. Это...