504 Gateway Time Out коротко, что это

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

Чаще всего эта зависающая программа физически работает на этом же сервере.

Не употребляем названий программ, потому что это может произойти с любой CMS, CRM, самописным движком и тд

Что сделать владельцу сайта при 504 Gateway Time Out

Проверьте, что на диске сервера еще есть место

Если места нет, то прежде чем идти дальше нужно решить этот вопрос. Проще всего освободить место, как правило, можно удалив архивные логи. Если вы понимаете, о чем речь.

Перезагрузить сервер

Этот способ не является решением проблемы, однако может быстро восстановить работу сайта.

Перезагрузите сервер на котором работает сайт. Если работает на VPS (виртуальном сервере) - то перезагружайте его. Это поможет сбросить соединения, обрабатывая которые движок сайта стал работать слишком медленно.

Программная перезагрузка - если есть выбор, то лучше сначала попробовать её. Так будет корректно завершена работа базы данных и меньше вероятность что-то сломать.

Если после применения пункта "Программная перезагрузка" прошло 2-3 минуты, но сервер так и не начал перезагружаться, выбирайте пункт "Аппаратная перезагрузка".

Как предотвратить появление ошибок 504 Gateway Time Out

Строго говоря, ошибка 504 не означает, что сайт сломался. У шлюза есть таймаут, скажем 30 сек, и скрипт не успел за это время подготовить страницу

Почему сервер начал зависать

На сайт добавили много информации

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

Парсинг вашего сайта

Интенсивный сбор информации с сайта создаёт нагрузку на сервер за счет двух факторов:

  1. Высокая частота запросов

  2. Запросы к наиболее информационно-нагруженным страницам - страницы категорий товаров, карточки товаров, статьи с большим количеством комментариев, отзывов и т.п.

Если для подготовки страницы скрипт обращается к внешним API - там в свою очередь может возникнуть замедление ответов, а то и вовсе исчерпание лимитов на запросы

DDoS на прикладном уровне

Атака на уровне приложений (L7) имитирует легитимные запросы к ресурсоемким страницам: главная, категория с большим количеством товаров, корзина и т.п.

В отличие от парсинга, где целью является получение информации, а не сообщения об ошибке, DDoS организуется именно с целью вызвать неработоспособность сайта.

Сломалась таблица в базе данных

Таблицы и индексы повреждаются из-за нехватки дискового пространства, отключения питания или аппаратной поломки самого диска.

(Материал дополняется)