Как увеличить потоки потоков нитей на IIS 7.0
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
Посмотрите на элемент 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).
Ответ 2
Также рассмотрите эту информацию:
http://support.microsoft.com/default.aspx?scid=kb;en-us;821268