2016-05-16 9 views
2

Hallo Ich möchte ProcessModel meines Servers Maschine.config-Datei zu aktualisieren. Derzeit ist ihr Wert wie folgt:machine.config processModel autoConfig = "True oder False" für explizite Werte in. NET 4.0

<system.web> 
    <processModel autoConfig="true"/> 
    </system.web> 

ich es mit folgenden neuen Änderungen aktualisieren möchten: msdn.microsoft.com:

<system.web> 
    <processModel autoConfig="true" 
     maxWorkerThreads = "100" 
     maxIoThreads = "100" 
     minWorkerThreads = "50" 
     minIoThreads = "50" 
     /> 
    </system.web> 

ich andere Werte von Process (siehe Standardwerte auf verwenden möchten /en-us/library/7w2sway1(v=vs.100).aspx) als Standard mit den Werten, die ich explizit oben definiert habe. Ich habe eine Frage hier: was wird der Wert von autoConfig = "?" wie einige Post über das Internet vorschlagen, dass AutoConfig Wert muss "True" (siehe https://tiredblogger.wordpress.com/2008/09/17/tweaking-net-machineconfig-for-production-deployments/), wie AutoConfig = True setzt alles auf die Standardeinstellungen außer was ich explizit definieren.

Wo wie in anderen Post vorgeschlagen, dass es erforderlich ist, AutoConfig = false festzulegen, damit diese benutzerdefinierten Werte wirksam werden. (Siehe: http://geekswithblogs.net/StuartBrierley/archive/2009/09/30/tuning-iis---machine.config-settings.aspx)

In MSDN (msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx), die Definition von autoConfig = "true/false" ist

autoConfig = True: Gibt an, dass ASP.NET die Attribute in der vorherigen Liste automatisch konfiguriert, um eine optimale Leistung basierend auf der Maschinenkonfiguration zu erzielen. autoConfig = False: Gibt an, dass ASP.NET die explizit definierten Werte für die Attribute in der vorherigen Liste verwenden soll. Eine andere Frage hier ist: Wie MSDN, wenn ich AutoConfig = False und explizit definieren meine obigen 4 Schlüsselwerte von processModel, was werden die Werte anderer Schlüssel von processModel wie webGarden, memoryLimit, cpuMask usw. sein? Muss ich auch andere Schlüssel/Werte von processModel setzen? Ich verwende diese Einstellungen in machine.config von asp.net 4.0-Anwendung, gehostet auf iis8 Win Server 2012.

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

4

Wenn man über Process autoConfig Lesen = true/false hier (MSDN https://msdn.microsoft.com/en-us/library/7w2sway1(v=vs.100).aspx), heißt es, dass, wenn dieser Wert true ist, die fünf Konfigurationsattribute hier aufgelistet (maxWorkerThreads, maxIoThreads, minFreeThreads, minLocalRequestFreeThreads und maxConnection) „werden entsprechend eingestellt zum KB-Artikel unter http://support.microsoft.com/?id=821268 ".

Außerdem ist es nicht möglich, minWorkerThreads höher als maxWorkerThreads zu setzen ... Die Runtime erkennt die Inkonsistenz und setzt einfach den Wert "min" auf den Standardwert. autoConfig beeinflusst minWorkerThreads und minIoThreads nicht direkt, aber sie werden stattdessen von ihren Gegenstücken wie maxWorkerThreads und maxIoThreads beeinflusst.

Ich habe einige Tests mit verschiedenen Werten von Worker-Threads mit autoConfig = true/false durchgeführt, unten sind ihre Ergebnisse.

<processModel autoConfig="true" 
     /> 

Ergebnis: maxWorkerThreads 400 maxIoThreads 400 minWorkerThreads 4 minIoThreads 4

<processModel autoConfig="false" 
     /> 

Ergebnis: maxWorkerThreads 400 maxIoThreads 400 minWorkerThreads 4 minIoThreads 4

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

Ergebnis: maxWorkerThreads = 400 maxIoThreads = 400 minWorkerThreads = 140 minIoThreads = 140

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

Ergebnis: maxWorkerThreads = 280 maxIoThreads = 280 minWorkerThreads = 140 minIoThreads = 140

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

Ergebnis:

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


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

Ergebnis:

maxWorkerThreads= 400 
maxIoThreads =400 
minWorkerThreads =280 
minIoThreads =280 
+0

Wie beurteilen Sie den resultierenden Wert der Konfiguration bestätigen? Machst du einfach selbst Mathe? Oder gibt es ein Tool wie appcmd, das diese Werte meldet? – user2565663