2016-05-16 223 views
2

您好我想更新我的服务器的machine.config文件的processModel。目前,它的价值是如下:machine.config processModel autoConfig =“true或false”在.net 4.0中的显式值

<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:表示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中使用这些设置。

在此先感谢您的帮助。

回答

4

当读取关于中processModel AUTOCONFIG =真/假这里(MSDN https://msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx),它说的是,当该值是真实的,在这里列出的五个配置属性(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个 maxIoThreads 400个 minWorkerThreads 4个 minIoThreads 4

<processModel autoConfig="false" 
     /> 

结果: maxWorkerThreads 400个 maxIoThreads 400个 minWorkerThreads 4个 minIoThreads 4

<processModel autoConfig="true" 
     maxWorkerThreads = "70" 
     maxIoThreads = "70" 
     minWorkerThreads = "35" 
     minIoThreads = "35" 
     /> 

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

<processModel autoConfig="false" 
     maxWorkerThreads = "70" 
     maxIoThreads = "70" 
     minWorkerThreads = "35" 
     minIoThreads = "35" 
     /> 

结果: maxWorkerThreads = 280个 maxIoThreads = 280个 minWorkerThreads = 140个 minIoThreads = 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 
+0

你如何确认所产生的配置的价值?你只是自己在做数学吗?或者是否有像报道这些值的appcmd工具? – user2565663