machine.config processModel autoConfig ="true或false"表示.net 4.0中的显式值

Ash*_*har 4 c# asp.net webserver machine.config iis-8

嗨,我想更新服务器的machine.config文件的processModel.目前其价值如下:

  <system.web>
    <processModel autoConfig="true"/>
  </system.web>
Run Code Online (Sandbox Code Playgroud)

我想用以下新的更改来更新它:

  <system.web>
    <processModel autoConfig="true"
        maxWorkerThreads = "100"
        maxIoThreads = "100"
        minWorkerThreads = "50"
        minIoThreads = "50"
         />
  </system.web>
Run Code Online (Sandbox Code Playgroud)

我想使用processModel的其他值(请参阅默认值:msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx)作为Default,并使用上面明确定义的值.我在这里有一个问题:autoConfig ="?"的价值是什么?正如一些网上帖子暗示autoConfig值必须为"True"(请参阅https://tiredblogger.wordpress.com/2008/09/17/tweaking-net-machineconfig-for-production-deployments/),as 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的其他键/值?我在asp.net 4.0应用程序的machine.config中使用这些设置,托管在iis8 Win Server 2012上.

在此先感谢您的帮助.

Ash*_*har 6

当在这里阅读关于processModel autoConfig = true/false(MSDN https://msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx)时,它说当这个值为真时,此处列出的五个配置属性(maxWorkerThreads,maxIoThreads,minFreeThreads,minLocalRequestFreeThreads和maxConnection)"根据http://support.microsoft.com/?id=821268上的知识库文章设置".

此外,无法将minWorkerThread设置为高于maxWorkerThreads ...运行时检测到不一致,只需将"min"值设置为其默认值.autoConfig不会直接影响minWorkerThreads和minIoThreads,但它们会受到其对应项的影响,例如maxWorkerThreads和maxIoThreads.

我使用autoConfig = true/false对工作线程的不同值进行了少量测试,下面是他们的结果.

<processModel autoConfig="true"
         />
Run Code Online (Sandbox Code Playgroud)

结果:maxWorkerThreads 400 maxIoThreads 400 minWorkerThreads 4 minIoThreads 4

<processModel autoConfig="false"
         />
Run Code Online (Sandbox Code Playgroud)

结果:maxWorkerThreads 400 maxIoThreads 400 minWorkerThreads 4 minIoThreads 4

<processModel autoConfig="true"
        maxWorkerThreads = "70"
        maxIoThreads = "70"
        minWorkerThreads = "35"
        minIoThreads = "35"
         />
Run Code Online (Sandbox Code Playgroud)

结果:maxWorkerThreads = 400 maxIoThreads = 400 minWorkerThreads = 140 minIoThreads = 140

<processModel autoConfig="false"
        maxWorkerThreads = "70"
        maxIoThreads = "70"
        minWorkerThreads = "35"
        minIoThreads = "35"
         />
Run Code Online (Sandbox Code Playgroud)

结果:maxWorkerThreads = 280 maxIoThreads = 280 minWorkerThreads = 140 minIoThreads = 140

<processModel autoConfig="false"
        maxWorkerThreads = "150"
        maxIoThreads = "150"
        minWorkerThreads = "70"
        minIoThreads = "70"
         />
Run Code Online (Sandbox Code Playgroud)

结果:

maxWorkerThreads= 600
maxIoThreads =600
minWorkerThreads =280
minIoThreads =280


<processModel autoConfig="true"
        maxWorkerThreads = "150"
        maxIoThreads = "150"
        minWorkerThreads = "70"
        minIoThreads = "70"
         />
Run Code Online (Sandbox Code Playgroud)

结果:

maxWorkerThreads= 400
maxIoThreads =400
minWorkerThreads =280
minIoThreads =280
Run Code Online (Sandbox Code Playgroud)

  • 您如何确认配置的结果值?你自己简单地做数学吗?或者是否有像appcmd这样的工具会报告这些值? (4认同)