Значение swap на VDS серверах

1с и web разработка

Не так давно я переехал со всеми сайтами с хостинга на VDS сервер. Много раз уже пожалел об этом и столько же раз сервер меня радовал (когда проблему удавалось решить). В очередной раз я стал жалеть об этом когда стал импортировать всего-то 500 товаров в woocommerce и не смог завершить импорт из-за падения mysql сервера

Начинаем разбираться в причинах падения mysql сервера. Оказывается, что он падает когда не хватает оперативной памяти для обработки запроса. Падает, потом сам встает и идет как ни в чем не бывало. Но процесс импорта падает и лежит.

Первое что приходит в голову — поменять тариф и тем самым увеличить памяти. Но мы то с вами понимаем, что это не первое что мы должны сделать. Мы программисты или где?

Смотрим командой top или htop что у нас. И оказывается у нас swap файл всего 500 Мб. Не знаю уж специально timeweb это делает или случайно. В итоге наш 1Гб. оперативки быстро забивается и скидывает в swap. Следом за оперативкой забивается swap целиком (от слова совсем).

Хотя мы с вами (заядлые линуксойды) много раз читали/слышали, что swap должен быть в 2 раза больше оперативки ну или равен ей в крайнем случае.

Увеличиваем swap на 1Гб

Для этого нам нужно создать еще один swap файл и подключить его

4 строчки кода и мы спокойно загружаем файл в woocommerce, swap файл начинает кушать 700 Мб и мы работаем дальше.

Кстати, если вы хотите чтобы при перезагрузке новый swap файл опять подключался, а не просто сжирал 1Гб дискового пространства — надо выполнить еще одну операцию. Открываем для редактирования /etc/fstab и добавляем строку:

Теперь совсем все хорошо. MySQL не падает, файлы загружаются, а мы получаем много удовольствия от того, что теперь у нас не хостинг, а VDS сервер.

И берем на заметку:

При аренде VDS первым делом увеличиваем swap

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *