Веб-сервис, который я разрабатываю, должен отвечать через 6 секунд макс. Если веб-служба не отвечает на запросы через 6 секунд, она должна ответить на некоторые жестко запрограммированные данные.IIS/Azure IIS - ограничение максимального времени отклика
Веб-сервис - это прокси-сервер, который преобразует входящие данные и отправляет запрос другой службе. Эта услуга является сторонней и может терпеть неудачу или отвечать слишком долго.
В настоящее время существует ограничение в коде приложения, которое ограничивает время ожидания стороннего обслуживания до 3 секунд (помните, что общее время ответа составляет 6 секунд).
Но проблема заключается в том, что приложение имеет очень высокую нагрузку, и иногда он не может выполнить свой код за 3 секунды (но без загрузки нашего кода приложения выполняется в миллисекундах, на самом деле кода немного). Я считаю, что Windows не может запускать все потоки, а иногда потоки спят более 3 секунд, а максимальное время ответа нарушается без возможности справиться с этим.
Приложение разработано в ядре asp.net в C# и полностью async.
Итак, вопрос: возможно ли ограничить время отклика на уровне IIS? Возможно ли ответить с предопределенными данными, если произошел тайм-аут? Есть ли способ, кроме добавления дополнительных экземпляров в Azure для улучшения реагирования? Существует ли программный способ эффективного использования тайм-аутов?
EDIT
Мне нужно
- Гарантированное время отклика на IIS с высокой нагрузкой. Возможно ли это вообще в ОС без реального времени?
- Когда запрос не обрабатывается вовремя, отправьте предопределенный жесткий код.
- ли это на Azure
Похоже, вам нужно увеличить ресурсы, доступные для вашего лазурного экземпляра, и/или добавить дополнительные экземпляры с балансировкой нагрузки. Вероятно, вы также захотите найти какие-либо узкие места производительности в вашем коде приложения, а также обратиться к ним. – user1666620