Правильно ли я могу отключить своп для производственного сервера?
Нет. Всегда есть место для обмена.
Я попытался запустить рабочий сервер без подкачки один раз и примерно неделю спустя, после обновления Wordpress, PHP начал потреблять гораздо больше оперативной памяти, чем мы рассчитывали. Когда у вас заканчивается ОЗУ и у вас включен режим подкачки, все замедляется (иногда сильно, иногда совсем немного, в зависимости от того, что там происходит), но вы можете войти в систему, найти проблему и попытаться ее исправить. Это.
Когда у вас заканчивается ОЗУ и у вас нет свопа, процессы умирают, все останавливается, и в большинстве случаев единственным вариантом является перезагрузка. Но до тех пор, пока вы не перезагрузите компьютер, возможно, что-то сломается.
В моем мире сломано гораздо хуже, чем медленно.
Конечно, если вы обнаружите, что ваша система постоянно использует большие части подкачки (она будет часто использовать некоторые просто как способ удаления старых кэшированных данных), у вас, очевидно, есть проблема («вставьте ОЗУ, пожалуйста»), но ее сеть безопасности определенно рекомендуется.
В ответ на комментарий от SpamapS:
В мире «успешных веб-сайтов» у вас есть горячие отказоустойчивости, балансировка нагрузки и другие инструменты, которые позволяют машине взрываться и не оказывают никакого влияния на остальную часть сайта. Но это занимает много денег. Наличие избыточного оборудования не выгодно для большинства сайтов, даже если они тратят деньги.
Я полностью не согласен с вашим комментарием по поводу доступности. В традиционной системе электронной коммерции, если люди не видят ваш сайт, они не могут покупать у вас. Это не просто электронная коммерция, все коммерческие интересы в Интернете становятся намного более плачевными, если вы находитесь в каком-либо периоде. Я знаю, потому что я размещаю сайты и услуги для компаний и управляю своими собственными сайтами. Медленно = сварливый, но вниз = ярость. Даже если вы выходите из строя только на минуту, если пользователь более двух раз видит уведомление об отказе в обслуживании, он полагает, что вы не можете поддерживать работу сайта.
Медленный сервер не идеален, но не всегда нужно запускать своп, это последнее средство, позволяющее вещам продолжать работать, пока вы их исправляете.
Вы также предполагаете, что на машине работает только одна служба. Опять же, это может быть правдой, если у вас есть мегабаки, чтобы разделить все, но в реальном мире все смешивается. Несколько веб-сайтов, ssh-демоны, ftp-серверы, почтовые серверы и т. Д. Один процесс, попадающий в swap, может даже не повлиять на другой сервис. Без обмена все имеют равные шансы на мгновенное и случайное завершение. Вы не можете это контролировать.
Конечно, своп не единственный ответ. Вам нужен мониторинг, чтобы предупредить вас, когда вы вне оперативной памяти, но простое отключение от сети и перезагрузка - это не решение для большинства людей. Я уверен, что это работает для любого многонационального веб-сайта, за который вы отвечаете, но для нас, простых смертных (которые составляют большую часть Интернета), что делает это коммерческим самоубийством.