Назад | Перейти на главную страницу

Время ожидания POST большого файла истекает при запуске через ARR

При отправке большого файла POST через ARR время ожидания запроса истекает через 120 секунд. Клиент получает код ошибки 502 Bad Gateway. Я настроил «тайм-аут прокси» для веб-фермы равным 600 секундам. Я также настроил Connection time-out из Default Web Site быть 600 секунд. Сервер ARR перезапущен.

Следующее взято из файла журнала на сервере ARR:

2015-05-07 13:25:16 192.168.87.155 POST /Redacted/Import/RedactedImport20150507_152313.csv X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=253daa4a-8372-405a-8efd-21ebbc38353f 80 - 192.168.87.198 - redacted.local 502 3 64 120436

из applicationHost.config:

    <webFarm name="redacted.local" enabled="true">
        <server address="redacted.local" enabled="true" />
        <applicationRequestRouting>
            <healthCheck url="http://redacted.local/redacted.svc" liveTrafficFailureCodes="400-" />
            <protocol timeout="00:10:00" />
        </applicationRequestRouting>
    </webFarm>

Задний план:

Я создаю PoC для использования ARR для достижения балансировки нагрузки и высокой доступности для наших серверных служб, которые в основном представляют собой WCF (базовый HTTP) и REST.

Одна из служб (REST) ​​используется для получения большого (ish) файла пару раз в день из пакетного задания. Служба REST не возвращается, пока обработка файла не будет завершена (что может занять 5 минут), поскольку клиентскому приложению необходимо знать, когда обработка завершена (далее следуют дополнительные шаги, которые зависят от первого).

В моем случае я решил проблему, изменив тайм-аут прокси

  1. Перейти к диспетчеру IIS
  2. Маршрутизация запросов приложений
  3. В разделе «Действия» перейдите к настройкам прокси-сервера.
  4. Измените время ожидания на желаемое значение.

Эти шаги предназначены для IIS v7.

У нас была аналогичная проблема, которая была связана с настройкой MTU по умолчанию на сетевой карте, он был установлен на 1514 вместо 1500, что вызывало проблемы только с большими сообщениями.

https://blogs.technet.microsoft.com/askpfeplat/2014/12/01/psa-incorrect-mtu-size-causes-connectivity-issues-with-windows-server-2012-and-windows-server-2012- r2 /

Отвечая на свой вопрос, как я, наконец, понял.

Я добавил это в applicationHost.config под configuration/system.applicationHost:

<webLimits connectionTimeout="00:10:00" minBytesPerSecond="0" />

Но даже после сохранения и нажатия Restart под Manage Server в диспетчере IIS он все еще отвечал 502 через две минуты.

Однако сегодня, когда я установил некоторые функции IIS (отслеживание неудачных запросов), я перезапустил службу IIS. W3SVC и служба веб-управления WMSvc, и вдруг 502 остановился.