2012-03-02 21 views
1

私はしかし、私はVisual StudioでASP.net 4.0 webアプリケーションのコードをデバッグしていたとき、私はThreadPool.GetMaxThreadsが200として、カウントを返すことを見ています100ThreadPool.GetMaxThreadsはmachine.configのprocessModelタグに基づいて値を取得しますか?

<processModel autoConfig="false" maxWorkerThreads="100" maxIoThreads="100"/> 

へのmachine.configでmaxIoThreadsとmaxWorkerThreadsを設定しています両方のために。

 int workerThreads; 
     int portThreads; 
     System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out portThreads); 
     //workerThreads & portThreads both get the value of 200 

私の質問はのmachine.configとThreadPool.GetMaxThreads内のprocessModelタグの間に何らかの関係があるのでしょうか?

答えて

1

チェックこのhttp://msdn.microsoft.com/en-us/library/7w2sway1.aspx

maxWorkerThreadsは=ごとのCPUに基づいてプロセスに使用するワーカースレッドの最大数を設定します。たとえば、シングルプロセッササーバーでこの値が25の場合、ASP.NETはランタイムAPIを使用してプロセス制限を25に設定します。2プロセッササーバーでは、制限は50に設定されます。

またのhttpRuntimeにあなたがminFreeThreadが定義されていることを確認し、このガイドライン

によると、この属性の値は、のhttpRuntime構成セクションで設定minFreeThread属性以上である必要があります。

関連する問題