Programování

Jak vyladit nastavení machine.config pro lepší výkon

Vyladění nastavení v konfiguračních souborech v ASP.Net může poskytnout příjemné zvýšení výkonu. Mezi tyto soubory patří machine.config a web.config.

Soubor web.config je specifický pro aplikaci a je vytvořen ve výchozím nastavení při vytváření webové aplikace nebo webu v sadě Visual Studio. Všimněte si, že existuje další konfigurační soubor s názvem aspnet.config - je k dispozici od verze ASP.Net 2.0. Tento soubor je k dispozici v kořenovém adresáři složky .Net Framework ve vašem systému. Konfigurační soubor stroje se zatím jmenuje machine.config a nachází se v instalační cestě% runtime% \ Config.

Zatímco nastavení v souboru web.config platí pouze pro aplikaci, nastavení přítomná v souboru machine.config platí pro celý stroj. Všimněte si, že soubor machine.config je nainstalován při instalaci .Net Framework do vašeho systému. Ve vašem systému můžete mít pouze jeden soubor machine.config (pouze jeden na systém) a nachází se v adresáři \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG.

Je třeba poznamenat, že nastavení definovaná v souboru machine.config jsou přepsána nastaveními definovanými v souboru web.config ve vaší aplikaci. Aplikace může mít více souborů web.config. Mimochodem, soubor web.config zdědí nastavení definované v machine.config.

Doporučené nastavení machine.config

V této části prozkoumáme nastavení, která lze použít v souboru machine.config pro zvýšení výkonu. Všimněte si, že výchozí a doporučené hodnoty byly zadány pro každé nastavení.

maximální připojení

Můžete vyladit nastavení system.Net v souboru machine.config, aby vaše aplikace mohla poskytovat více souběžných požadavků. Výchozí hodnota je 2, zatímco doporučená hodnota je 12 na procesor.

   

       

   

Zde jsou doporučená nastavení pro sekci procesního modelu v souboru machine.config pro výkonnostní výhody. Nastavení v modelu procesu můžete vyladit v souboru machine.config tak, aby ovládal pracovní vlákna, vlákna I / O atd. Všimněte si, že vlákno je nejmenší jednotkou provedení v procesu.

memoryLimit

Toto nastavení se používá k určení procenta celkové systémové paměti, kterou by proces používal. Výchozí hodnota je 40. Doporučená hodnota pro toto nastavení závisí na mnoha faktorech. Mezi takové úvahy patří (mimo jiné) následující:

  • Pokud je aplikace nainstalována v izolované krabici
  • Výskyt nevracení paměti v aplikaci

maxWorkerThreads

Toto nastavení se používá k definování maximálního počtu pracovních vláken, která jsou k dispozici ve fondu vláken v daném okamžiku. Fond vláken se skládá z několika vláken, nebo z přesněji kolekce vláken, a lze jej použít k provádění několika činností na pozadí. MSDN uvádí: "Fond podprocesů je kolekce pracovních podprocesů, které efektivně provádějí asynchronní zpětná volání jménem aplikace. Fond podprocesů se primárně používá ke snížení počtu podprocesů aplikací a zajištění správy pracovních podprocesů."

Výchozí hodnota maxWorkerThreads je 20 na procesor a doporučená hodnota je 100.

minWorkerThreads

Toto nastavení určuje minimální počet pracovních vláken, které jsou k dispozici ve fondu vláken, aby vyhověly příchozímu požadavku. Výchozí hodnota je 1, zatímco doporučená hodnota je maxWorkerThreads / 2. Takže pokud jste v souboru machine.config definovali maxWorkerThreads jako 100, měli byste zadat 50 jako minWorkerThreads.

maxIOThreads

Toto nastavení se používá k definování maximálního počtu podprocesů, které jsou přiděleny pro provádění operací vstupního výstupu (I / O). Mezi takové operace patří operace s databázemi, volání webových služeb, přístup k systému souborů atd. Výchozí hodnota je 20 na procesor, zatímco hodnota 100 se doporučuje.

minIOThreads

Slouží k definování minimálního počtu I / O vláken, která jsou k dispozici ve fondu vláken v určitém okamžiku. Výchozí hodnota je 1, zatímco doporučená hodnota je maxIOThreads / 2. Takže pokud jste v souboru machine.config definovali maxIOThreads jako 100, měli byste zmínit 50 jako minIOThreads.

Dej to dohromady

Pojďme nyní uvést všechna tato nastavení do provozu. Následující seznam kódů ilustruje typické nastavení v souboru machine.config na základě doporučeného nastavení popsaného dříve v článku.

 

        

            

        

    

    

        

maxWorkerThreads = "100"

maxIoThreads = "100"

minWorkerThreads = "50"

minIoThreads = "50"

         />

    

$config[zx-auto] not found$config[zx-overlay] not found