Увеличение числа параллельных запросов в приложении .NET Remoting под IIS - PullRequest
5 голосов
/ 10 августа 2010

У нас есть сервер удаленного взаимодействия .NET 2.0, работающий в режиме единого вызова под IIS7.Он имеет два API, скажем:

  1. DoLongRunningCalculation () - имеет много запросов к базе данных и может занять много времени.
  2. HelloWorld () - просто возвращает «Hello World»".

Мы попытались провести стресс-тестирование сервера удаленного взаимодействия (на компьютере под управлением Windows 7) в худшем случае, бомбардируя его случайным образом двумя вызовами API, и обнаружили, что если мы выйдем за пределы 10 клиентских запросовответ HelloWorld (который обычно составляет менее 0,1 с) начинает занимать все больше и больше времени и занимает много секунд.Наша цель состоит в том, чтобы мы не хотели иметь длительные удаленные вызовы, чтобы заблокировать краткосрочные вызовы.Вот счетчики производительности для ASP.NET v2.0.50727, если у нас запущено 20 клиентских потоков:

  1. Запросы в очереди: 0
  2. Выполнение запросов: (Макс .: 10)
  3. Рабочие процессы запущены: 0
  4. Режим экземпляра конвейера: (Макс .: 10)
  5. Запросы в очереди приложений: 0

Мы попытались установить maxConcurrentRequestsPerCPUдо «5000» в реестре согласно блогу Томаса: Использование потоков ASP.NET на IIS 7.0 и 6.0 , но это не помогло.Исходя из приведенных выше данных, кажется, что число одновременных запросов застряло на 10.

Итак, вопрос:

  1. Как мы можем увеличить количество одновременных запросов?Основная цель заключается в том, что мы не хотим, чтобы длительные удаленные вызовы блокировали кратковременные вызовы.
  2. Почему выполнение максимального количества запросов всегда застряло на 10?

Заранее спасибо.

1 Ответ

2 голосов
/ 09 сентября 2010

Windows 7 имеет ограничение на 20 входящих подключений.XP и предыдущая версия были ограничены 10 (не уверен насчет Vista).Это, вероятно, причина вашего падения производительности.Попробуйте протестировать на реальной серверной ОС, у которой нет произвольного ограничения на соединение.

...