504 Gateway Time Out коротко, что это
Эта ошибка означает что программа, непосредственно принимающая запросы из браузера пользователя не дождалась ответа от т.н. бэкенда. Т.е. зависает программа или другой веб-сервер, который непосредственно отвечает за производство страниц для показа клиенту.
Чаще всего эта зависающая программа физически работает на этом же сервере.
Не употребляем названий программ, потому что это может произойти с любой CMS, CRM, самописным движком и тд
Что сделать владельцу сайта при 504 Gateway Time Out
Проверьте, что на диске сервера еще есть место
Если места нет, то прежде чем идти дальше нужно решить этот вопрос. Проще всего освободить место, как правило, можно удалив архивные логи. Если вы понимаете, о чем речь.
Перезагрузить сервер
Этот способ не является решением проблемы, однако может быстро восстановить работу сайта.
Перезагрузите сервер на котором работает сайт. Если работает на VPS (виртуальном сервере) - то перезагружайте его. Это поможет сбросить соединения, обрабатывая которые движок сайта стал работать слишком медленно.
Программная перезагрузка - если есть выбор, то лучше сначала попробовать её. Так будет корректно завершена работа базы данных и меньше вероятность что-то сломать.
Если после применения пункта "Программная перезагрузка" прошло 2-3 минуты, но сервер так и не начал перезагружаться, выбирайте пункт "Аппаратная перезагрузка".
Как предотвратить появление ошибок 504 Gateway Time Out
Строго говоря, ошибка 504 не означает, что сайт сломался. У шлюза есть таймаут, скажем 30 сек, и скрипт не успел за это время подготовить страницу
Почему сервер начал зависать
На сайт добавили много информации
Например, тысяча товаров, добавленная в одну категорию вполне может так замедлить обработку запросов, что при неизменном количестве посетителей сервер перестанет успевать готовить страницы.
Парсинг вашего сайта
Интенсивный сбор информации с сайта создаёт нагрузку на сервер за счет двух факторов:
-
Высокая частота запросов
-
Запросы к наиболее информационно-нагруженным страницам - страницы категорий товаров, карточки товаров, статьи с большим количеством комментариев, отзывов и т.п.
Если скрипты вашего сайта при работе обращаются к внешним API - там в свою очередь может возникнуть замедление ответов, а то и вовсе исчерпание лимитов на запросы
DDoS на прикладном уровне
Атака на уровне приложений (L7) имитирует легитимные запросы к ресурсоемким страницам: главная, категория с большим количеством товаров, корзина и т.п.
В отличие от парсинга, где целью является получение информации, а не сообщения об ошибке, DDoS организуется именно с целью вызвать неработоспособность сайта.
Выгул ботофермы
Наверняка вы знаете о т.н. "накрутке поведенческих". Это когда изображая тысячу браузеров скрипт совершает действия, аналогичные тому что делает человек пользуясь поисковой системой. Делается это для того, чтобы ввести поисковой систему в заблуждение относительно реальной популярности сайта заказчика.
А чтобы поисковая система не догадалась что это автомат, у браузера должна быть "история". Вот ради этой истории толпы ботов бродят по сайтам, создавая нагрузку, иногда в десятки раз превышающую обычную.
Сломалась таблица в базе данных
Таблицы и индексы повреждаются из-за нехватки дискового пространства, отключения питания или аппаратной поломки самого диска.