web-dev-qa-db-ja.com

IIS 7.0でスレッドプールスレッドを増やす方法

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

ページもセッションもないASP.NETアプリケーションがあります(HttpHandler)。それはストリーミングサーバーです。各要求を処理するために2つのスレッドを使用するので、100の接続されたクライアントがある場合、200のスレッドが使用されます。これは専用サーバーであり、サーバー上にアプリケーションはありません。

問題は、200台のクライアントが接続された後(ストレステスト中)、アプリケーションが新しいクライアントを拒否したことですが、application pool(Webガーデンを作成)のワーカースレッドを増やすと、w3wpプロセスごとに200の新しいクライアントを幸せにすることができます。

.NETスレッドプールの制限がその時点で達しているので、増やす必要があります。

ありがとう

23
Xaqron

Aspnet.configの applicationPool 要素を確認します。

<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内)を確認することもできます。

25
Oded