嗨,我想更新我服务器的 machine.config 文件的 processModel。目前它的值(value)如下:
<system.web>
<processModel autoConfig="true"/>
</system.web>
我想用以下新更改更新它:
<system.web>
<processModel autoConfig="true"
maxWorkerThreads = "100"
maxIoThreads = "100"
minWorkerThreads = "50"
minIoThreads = "50"
/>
</system.web>
我想使用 processModel 的其他值(参见默认值:msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx)作为默认值,我在上面明确定义了这些值。
我在这里有一个问题:autoConfig="的值是什么?"因为互联网上的一些帖子表明 autoConfig 值必须为“True”(请参阅 https://tiredblogger.wordpress.com/2008/09/17/tweaking-net-machineconfig-for-production-deployments/ ),因为 autoConfig=True 将所有内容都设置为默认值,除了我明确定义的内容。
正如其他帖子所建议的那样,有必要设置 autoConfig = false 以使这些自定义值生效。 (见: http://geekswithblogs.net/StuartBrierley/archive/2009/09/30/tuning-iis---machine.config-settings.aspx )
在 MSDN ( msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx ) 中, autoConfig="true/false"的定义是
autoConfig=True:表示 ASP.NET 会根据机器配置自动配置上表中的属性以达到最佳性能。
autoConfig=False:指示 ASP.NET 应使用为前面列表中的属性显式定义的值。
这里的另一个问题是:根据 MSDN,如果我设置 autoConfig=False 并显式定义 processModel 的上述 4 个键值,那么 processModel 的其他键的值将是什么,如 webGarden、memoryLimit、cpuMask 等?我还需要设置 processModel 的其他键/值吗?
我在 iis8 Win Server 2012 上托管的 asp.net 4.0 应用程序的 machine.config 中使用这些设置。
在此先感谢您的帮助。
最佳答案
在阅读 processModel autoConfig=true/false here (MSDN https://msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx) 时,它说当这个值为 true 时,这里列出的五个配置属性(maxWorkerThreads、maxIoThreads、minFreeThreads、minLocalRequestFreeThreads 和 maxConnection)是根据知识库文章设置的在 http://support.microsoft.com/?id=821268 ”。
此外,不可能将 minWorkerThreads 设置为高于 maxWorkerThreads……运行时检测到不一致并简单地将“min”值设置为其默认值。
autoConfig 不会直接影响 minWorkerThreads 和 minIoThreads,但它们会受到它们的对应物(例如 maxWorkerThreads 和 maxIoThreads)的影响。
我使用 autoConfig=true/false 对不同的工作线程值进行了很少的测试,下面是它们的结果。
<processModel autoConfig="true"
/>
结果:
maxWorkerThreads 400
最大线程数 400
最小 worker 线程 4
最小线程 4
<processModel autoConfig="false"
/>
结果:
maxWorkerThreads 400
最大线程数 400
最小 worker 线程 4
最小线程 4
<processModel autoConfig="true"
maxWorkerThreads = "70"
maxIoThreads = "70"
minWorkerThreads = "35"
minIoThreads = "35"
/>
结果:
maxWorkerThreads = 400
最大线程数 = 400
minWorkerThreads = 140
最小线程数= 140
<processModel autoConfig="false"
maxWorkerThreads = "70"
maxIoThreads = "70"
minWorkerThreads = "35"
minIoThreads = "35"
/>
结果:
maxWorkerThreads = 280
最大线程数 =280
minWorkerThreads = 140
最小线程数 =140
<processModel autoConfig="false"
maxWorkerThreads = "150"
maxIoThreads = "150"
minWorkerThreads = "70"
minIoThreads = "70"
/>
结果:
maxWorkerThreads= 600
maxIoThreads =600
minWorkerThreads =280
minIoThreads =280
<processModel autoConfig="true"
maxWorkerThreads = "150"
maxIoThreads = "150"
minWorkerThreads = "70"
minIoThreads = "70"
/>
结果:
maxWorkerThreads= 400
maxIoThreads =400
minWorkerThreads =280
minIoThreads =280
关于c# - machine.config processModel autoConfig ="true or false"用于 .net 4.0 中的显式值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37248257/