2016-05-16 115 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