Запуск собственного веб-сервиса OWIN в Azure Сервис Fabri c позади Azure Балансировщик нагрузки и Azure Traffi c Профиль менеджера с несколькими экземплярами. Около 2% веб-запросов зависли, когда служба пытается прочитать тело запроса из входящих запросов в строку, используя HttpContent.ReadAsStringAsyn c. Поэтому ReadAsStringAsyn c завершается с ошибкой по истечении времени ожидания:
System. Net .Http.HttpRequestException: Ошибка при копировании содержимого в поток.
Веб-сервис получает запросы разных размеров, большинство из них небольшие, но некоторые могут достигать 60 КБ. Количество одновременных ожидающих запросов / экземпляров составляет около 900, а загрузка процессора ~ 30%. Уменьшение количества услуг помогает немного, но не решает полностью, я также пытаюсь понять, что является причиной root. Вот настройка, которую я переопределяю в OwinHttpListener:
listener.SetRequestProcessingLimits(Environment.ProcessorCount * 5, int.MaxValue);
listener.SetRequestQueueLimit(10000);
Любые идеи о причине root и / или как это исправить? Owin ver:
PackageReference Include = "Microsoft.As pNet .WebApi.Owin" Version = "5.2.6"