の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は正常に動作し、デフォルト値が出力に表示されますが、本当に私を少し驚かせました:
- maxWorkerThreadsとmaxIoThrea ds属性が正しく、従って200の出力(デュアルコアCPUでは100x2)になります。
- しかし、minWorkerThreadsがあるべきKBあたりとしてどの属性を設定していないようです:minWorkerThreadsの= maxWorkerThreads/2
- はまた、真の自動構成=を設定し、MSDNのドキュメントによるとminFreeThreadsとminLocalRequestFreeThreadsがに属性を設定んKBで推奨される値ですが、そうではないようです。私は8と4のデフォルト値を取得します。
私はちょっと混乱しています、ここで何が起こっているかについてのアイデアはありますか?私はサンプルを間違っているか何か持っていますか?
私はウェブサービスのスループットを向上させようとしています(現在は数人のユーザに100%のCPU負荷をかけています)。まったく同じ問題に遭遇しました。 AutoConfigが有効になっているとMaxWorkerThreadsが20になります。 – R4cOON
私はデュアルコアマシンでIIS6でASP.NET 3.5アプリケーションを実行しています。私はあなたと同じ結果を得ています。 –
何かが間違っている、わからない? AutoConfig属性をfalseに設定した後、web.configで手動で設定を変更することになりました。 – Metallikanz