executeTimeout для отправки ответа
Когда вы устанавливаете httpRuntime executeTimeout, это обрезает ответ, который уже был частично отправлен клиенту?
Я заметил в очереди запросов IIS, что иногда есть некоторые запросы, которые выполняются намного дольше, чем наш параметр executeTimeout, и состояние - SendResponse в модуле IIS Web Core. Включает ли executeTimeout время, необходимое для отправки ответа клиенту?
Единственная документация, которую я смог найти, находится на следующей странице в этом фрагменте, но она относится к 2003 году для более старых версий IIS: https://msdn.microsoft.com/en-us/library/ms972959.aspx
Время выполнения запроса. Количество миллисекунд, использованных для выполнения последнего запроса. В версии 1.0 Framework время выполнения начинается, когда рабочий процесс получает запрос, и останавливается, когда ASP.NET ISAPI отправляет HSE_REQ_DONE_WITH_SESSION в IIS. Для IIS версии 5 это включает время, необходимое для записи ответа клиенту, но для IIS версии 6 буферы ответов отправляются асинхронно, и поэтому время, затраченное на запись ответа клиенту, не учитывается.
Версия IIS 7.5 на Windows Server 2008 R2, на которой запущено веб-приложение ASP.NET 4.5, а для debug установлено значение false.
1 ответ
Я прошу прощения за то, что не обратился к вашему вопросу напрямую, но есть кое-что, что может помочь с вашей проблемой:
Есть minBytesPerSecond
настройка для установки нижней границы скорости передачи в <webLimits>
раздел. Я подозреваю, что изначально он был добавлен в качестве защиты от SlowLoris, но вы можете увеличить значение, чтобы исключить пользователей, чьи каналы не могут поддерживать ваш сайт. Значение по умолчанию - 240, что довольно мало.