504 (время ожидания шлюза) на AWS

9

У меня есть веб-приложение, работающее на экземпляре AWS EC2 в PHP, и я делаю вызов ajax, который занимает около 5-10 минут, я вижу веб-консоль в Google Chrome, и я получаю это 504 (Gateway Timeout), как я могу увеличить значение этого, это связано с apache? Благодаря

  • 0
    Откуда появилось сообщение 504 - в Apache, в PHP или в каком-то виде балансировщика нагрузки / CDN? Что говорит ваш phpinfo () рядом с «Server API»?
  • 0
    Если вы выполняете вызов через PHP, вам нужно увеличить максимальное время выполнения в php.ini .
Показать ещё 2 комментария
Теги:
amazon-ec2
timeout

1 ответ

12

ELB по умолчанию истекает через 60 секунд; я не знаю, как продлить этот предел, хотя эта страница предполагает, что для вас это может помочь Amazon Support (а также предлагает метод проблемы вокруг проблемы):

Пункт 6) Тайм-ауты ELAB от Amazon через 60 секунд (в режиме ожидания)

Amazon ELB в настоящее время тайм-ауты постоянных соединений сокетов @60 секунд, если это бездействовал. Это условие будет проблемой для случаев использования, которые генерирует большие файлы (PDF, отчеты и т.д.) в backend EC2, отправляет их как отклика назад и поддерживает соединение в режиме ожидания в течение всего поколения обработать. Чтобы этого избежать, вам придется отправить что-то в сокет каждые 40 секунд, чтобы поддерживать соединение в Amazon ELB. Примечание. Я слышал, что мы можем расширить это значение после объяснения Команда поддержки AWS.

Изменить: как отмечали комментаторы ниже, с 24 июля 2014 г. это настраивается в вашей консоли AWS.

  • 2
    Я добился успеха в увеличении лимита тайм-аута ELB, спрашивая раньше. Стоит подтвердить (чтобы вы могли передать инженерам AWS), что ваш бэкэнд имеет больший тайм-аут, чем тот, на который вы стремитесь увеличить ELB.
  • 0
    @JeffSisson они продлили его до 20 минут, но что, если запрос занимает более 20 минут?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню