Мой сервер debian иногда бывает перегружен (из-за большого количества процессов apache и плохо написанного веб-сайта). Разработчики программного обеспечения не торопятся исправлять проблему, но пока они ее не исправят, мне приходится иметь дело с сервером, который постоянно перегружается.
Когда он перегружается, мне трудно получить SSH-соединение с боксом, потому что он находится под такой большой нагрузкой. Если и когда мне удастся установить SSH-соединение, я всегда смогу перезапустить apache, который спасет сервер от сумасшедшего кода веб-сайта.
Но иногда мне может потребоваться час или около того, чтобы установить соединение, так как мое SSH-соединение не работает.
Может ли кто-нибудь предложить способ, которым я могу гарантировать, что всегда могу подключиться по SSH, даже если сервер окажется под большой нагрузкой?
Ренис sshd
процесс повышения его приоритета. Должен помочь, когда ресурсы ограничены
Идеальное решение этой проблемы - включить какой-то метод внеполосного доступа. Самым простым, наверное, является последовательная консоль. Вы можете получить последовательные консоли, которые позволят вам подключиться по ssh и получить доступ к последовательной консоли вашего сервера. Многие достойные хостинговые компании могут предоставить такой доступ на выделенных серверах и серверах с цветным хостингом. В качестве альтернативы у вас может быть что-то вроде KVM с IP-адресом или управление светом, например HP iLO или Dell DRAC.
Если причина, по которой вы не можете подключиться, связана с пропускной способностью, а не с системными ресурсами, вы всегда можете применить формирование трафика на пограничном брандмауэре к сети. Если это проблема системных ресурсов, напишите сценарий, который ищет системные ресурсы, которые были исчерпаны, и если, скажем, 3 запуска подряд, он обнаруживает проблему с ресурсами, затем автоматически перезапускает apache.
Возможно, вы могли бы написать сценарий для наблюдения за загрузкой сервера и, если она превысит определенный уровень, перезапустите apache (и все, что вы делаете, когда попадете туда). Если вы создадите задание cron, которое будет запускаться каждую минуту или около того, тогда, возможно, вы сможете поймать нагрузку на пути вверх и исправить ее до того, как сервер будет слишком загружен. В противном случае задание может занять некоторое время, как и ваша проблема с установкой сеанса ssh ... но моя интуиция подсказывает мне, что у него все равно будет больше шансов.
попробуйте посмотреть, что именно происходит. возможно, вы можете сохранить динамически сгенерированный контент, который по-прежнему будет обслуживаться из apache, но пусть статический контент обслуживается более подходящим сервером, например ngingx / lighthttpd / mathopd - на том же хосте [если у вас другой IP-адрес или вы можете использовать другой порт] или на другом хосте.