Сколько запросов может обрабатывать веб-API одновременно по умолчанию - PullRequest
0 голосов
/ 29 января 2019

У меня очень простой Web API, разработанный в c # .Net framework 4.6.
Во всем приложении нет вызовов async.Каждый запрос занимает около 30 секунд.Он выполняет некоторые вычисления и возвращает строку JSON.В этом нет базы данных. Он просто загружает файл из облака и вычисляет некоторые значения.

Он размещен в Windows Server 2016, IIS.

Я хочу знать, сколько одновременных запросов обрабатывает Web API или IIS в данный момент времени.

Я знаю, что ни один из одновременных запросов не может быть увеличен из web.config, как это:

<configuration>
  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="50000"/>
    </connectionManagement>
  </system.net>
</configuration>

Вот несколько вопросов, которые, я уверен, очень простые.
1. Имеет ли Web API возможность по умолчанию (без добавления чего-либо в web.config или в любом месте приложения) для обработки одновременных запросов.Если да, сколько?

Имеет ли IIS свойство обрабатывать параллельные запросы (используя пул потоков IIS) по умолчанию.Если да, сколько?

PS: при условии, что все ресурсы, которые использует этот API, всегда доступны.

Было бы очень полезно для меня, если бы кто-то мог помочь мне понять это и направить меня к правильным статьям.Большое спасибо заранее!

1 Ответ

0 голосов
/ 29 января 2019

Зависит от того, что IIS может возвращать запросы на основе количества процессоров, максимального количества потоков, объема установленной памяти и «сложности» операций, необходимых для генерации ответа.

Если IIS не может обработать запрос вв любое время этот запрос ставится в очередь.Я думаю, что максимальное количество запросов в очереди составляет 9000. После достижения этого лимита сервер возвращает ошибку 503.

В зависимости от аппаратных факторов с «весом» ответа, он может варьироваться от 100 до 50000 запросов или даже больше.

Это все, учитывая, что у вас достаточно доступной полосы пропускания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...