Как увеличить потоки пула потоков на IIS 7.0 - PullRequest
23 голосов
/ 31 декабря 2010

Environment: Windows Server 2008 Enterprise, IIS 7.0, ASP.NET 2.0 (CLR), .NET 4.0

У меня есть приложение ASP.NET без страницы и без сеанса (HttpHandler). Это потоковый сервер. Я использую два потока для обработки каждого запроса, поэтому, если есть 100 подключенных клиентов, то используются 200 потоков. Это выделенный сервер, и на нем больше нет приложений.

Проблема в том, что после подключения 200 клиентов (при стресс-тестировании) приложение отказывается от новых клиентов, но если я увеличу рабочие потоки до application pool (создаю веб-сад), то у меня может быть 200 новых счастливых клиентов на w3wp процесс.

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

Спасибо

1 Ответ

25 голосов
/ 31 декабря 2010

Посмотрите на элемент applicationPool вашего aspnet.config:

<configuration>
  <system.web>
    <applicationPool 
        maxConcurrentRequestsPerCPU="5000"
        maxConcurrentThreadsPerCPU="0" 
        requestQueueLimit="5000" />
  </system.web>
</configuration>

Пример местоположения:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config

Вы также можете посмотреть processModel (в вашем файле machine.config).

...