2010-11-30 13 views
5

のprocessModelのためのMSDNでthis文書によると、自動構成=真セットこのKB記事に従い、以下の属性:ASP .NETのprocessModelの構成

maxWorkerThreads、maxIoThreads、minFreeThreads、minLocalRequestFreeThreads、MAXCONNECTION

へこの設定を確認すると、ASP .NET 3.5のサンプルWebアプリケーションがpage_loadイベントに次のコードを持つようになりました。

 int w, c; 

     ThreadPool.GetMinThreads(out w, out c); 

     // Write the numbers of minimum threads 
     Response.Write("Min: " + string.Format("{0}, {1}", w, c)); 

     w=0; 
     c = 0; 

     ThreadPool.GetMaxThreads(out w, out c); 

     Response.Write(" Max: " + string.Format("{0}, {1}", w, c)); 

     Response.Write(" Maxconnections: " + ServicePointManager.DefaultConnectionLimit); 

     Configuration conf = ConfigurationManager.OpenMachineConfiguration(); 
     ConfigurationSectionGroup secGrp = conf.SectionGroups["system.web"]; 
     ConfigurationSection sec = secGrp.Sections["httpRuntime"]; 
     Response.Write(" httpruntime settings: " + sec.ElementInformation.Properties["minFreeThreads"].Value + ", " + 
                sec.ElementInformation.Properties["minLocalRequestFreeThreads"].Value); 

     Response.Flush(); 

私はfollo私は自動設定とページを実行翼出力が偽最初に設定した後、trueに設定さ:

自動構成= FALSE:最小:2、2最大:40、40 MaxConnectionsを:10点のhttpRuntime設定:8、4

をautoConfig = true:最小:2,2最大:200,200最大接続数:24 httpruntime設定:8、4

autoConfig = falseは正常に動作し、デフォルト値が出力に表示されますが、本当に私を少し驚かせました:

  1. maxWorkerThreadsとmaxIoThrea ds属性が正しく、従って200の出力(デュアルコアCPUでは100x2)になります。
  2. しかし、minWorkerThreadsがあるべきKBあたりとしてどの属性を設定していないようです:minWorkerThreadsの= maxWorkerThreads/2
  3. はまた、真の自動構成=を設定し、MSDNのドキュメントによるとminFreeThreadsとminLocalRequestFreeThreadsがに属性を設定んKBで推奨される値ですが、そうではないようです。私は8と4のデフォルト値を取得します。

私はちょっと混乱しています、ここで何が起こっているかについてのアイデアはありますか?私はサンプルを間違っているか何か持っていますか?

+0

私はウェブサービスのスループットを向上させようとしています(現在は数人のユーザに100%のCPU負荷をかけています)。まったく同じ問題に遭遇しました。 AutoConfigが有効になっているとMaxWorkerThreadsが20になります。 – R4cOON

+0

私はデュアルコアマシンでIIS6でASP.NET 3.5アプリケーションを実行しています。私はあなたと同じ結果を得ています。 –

+0

何かが間違っている、わからない? AutoConfig属性をfalseに設定した後、web.configで手動で設定を変更することになりました。 – Metallikanz

答えて

0

私の推測では、あなたは以下のロジックの同じ種類を扱っているされています。人々は変更する必要はありませんように、WCF 4では

WCF 4: Higher Default Throttling Settings for WCF Services

、我々はこれらの設定のデフォルト値を修正しましたほとんどの場合、デフォルトになります。ここでの主な変更です:

・MaxConcurrentSessions:デフォルトではMaxConcurrentCalls・100 * ProcessorCount

です:デフォルトではMaxConcurrentInstances・16 * ProcessorCount

です:デフォルトでは、上記の二つの合計でありますこれは以前と同じパターンに従います。

関連する問題