我已将machine.config中的maxIoThreads和maxWorkerThreads设置为100.
<processModel autoConfig="false" maxWorkerThreads="100" maxIoThreads="100"/>
但是,当我在Visual Studio中调试ASP.net 4.0 Web应用程序代码时,我发现ThreadPool.GetMaxThreads将两者的计数返回为200。
int workerThreads;
int portThreads;
System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out portThreads);
//workerThreads & portThreads both get the value of 200
我的问题是machine.config中的processmodel标记和ThreadPool.GetMaxThreads之间有任何关系吗?
答案 0 :(得分:1)
选中此http://msdn.microsoft.com/en-us/library/7w2sway1.aspx
maxWorkerThreads =在每个CPU的基础上配置用于进程的最大工作线程数。例如,如果单处理器服务器上的此值为25,则ASP.NET使用运行时API将进程限制设置为25.在双处理器服务器上,限制设置为50.
此外,请确保您已根据本指南在httpruntime中定义了minFreeThread
此属性的值必须等于或大于httpRuntime配置部分中的minFreeThread属性设置。