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スレッドプールの制限がその時点で達しているので、増やす必要があります。
ありがとう
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内)を確認することもできます。