Programmering

Sådan indstilles machine.config-indstillinger for forbedret ydelse

Tilpasning af indstillingerne i dine konfigurationsfiler i ASP.Net kan give et godt ydeevne boost. Disse filer inkluderer machine.config og web.config.

Web.config-filen er applikationsspecifik og oprettes som standard, når du opretter en webapplikation eller et websted i Visual Studio. Bemærk, at der er en anden konfigurationsfil ved navn aspnet.config - den er tilgængelig fra ASP.Net 2.0 og fremefter. Denne fil er tilgængelig i roden til .Net Framework-mappen i dit system. Maskinkonfigurationsfilen er i mellemtiden navngivet machine.config og ligger i% runtime-installationsstien% \ Config-biblioteket.

Mens indstillingerne i web.config-filen kun gælder for applikationen, gælder indstillingerne i filen machine.config for hele maskinen. Bemærk, at filen machine.config installeres, når du installerer .Net Framework i dit system. Du kan kun have én machine.config-fil i dit system (kun en pr. System), og den findes i mappen \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG.

Det skal bemærkes, at indstillingerne defineret i filen machine.config tilsidesættes af dem, der er defineret i web.config-filen i din applikation. En applikation kan have flere web.config-filer. I øvrigt arver web.config-filen indstillingerne defineret i machine.config.

Anbefalede machine.config-indstillinger

I dette afsnit undersøger vi de indstillinger, der kan anvendes på filen machine.config for at opnå præstationsgevinster. Bemærk, at standard- og anbefalede værdier er specificeret i forhold til hver indstilling.

maxforbindelse

Du kan tilpasse system.Net-indstillingerne i din machine.config-fil for at tillade, at flere samtidige anmodninger serveres af din applikation. Standardværdien er 2, mens den anbefalede værdi er 12 pr. CPU.

   

       

   

Her er de anbefalede indstillinger for sektionen procesmodel i din maskine.config-fil for ydeevne fordele. Du kan finjustere indstillingerne i procesmodellen i din machine.config-fil for at kontrollere arbejdertråde, I / O-tråde osv. Bemærk, at en tråd er den mindste enhed til udførelse inden for en proces.

memoryLimit

Denne indstilling bruges til at specificere procentdelen af ​​den samlede systemhukommelse, som processen vil bruge. Standardværdien er 40. Den anbefalede værdi for denne indstilling afhænger af mange faktorer. Sådanne overvejelser inkluderer (men er ikke begrænset til) følgende:

  • Hvis applikationen er installeret i en isoleret boks
  • Forekomst af hukommelseslækage i applikationen

maxWorkerThreads

Denne indstilling bruges til at definere det maksimale antal arbejdstråde, der er tilgængelige i trådpuljen på et givet tidspunkt. En trådpulje består af et antal tråde eller en samling tråde for at være præcis, og den kan bruges til at udføre flere aktiviteter i baggrunden. MSDN siger: "En trådpulje er en samling af arbejdstråde, der effektivt udfører asynkrone tilbagekald på vegne af applikationen. Trådpuljen bruges primært til at reducere antallet af applikationstråde og tilvejebringe styring af arbejdstrådene."

Standardværdien af ​​maxWorkerThreads er 20 pr. CPU, og den anbefalede værdi er 100.

minWorkerThreads

Denne indstilling bestemmer det mindste antal arbejdstråde, der er tilgængelige i trådpuljen for at imødekomme en indgående anmodning. Standardværdien er 1, mens den anbefalede værdi er maxWorkerThreads / 2. Så hvis du har defineret maxWorkerThreads som 100 i din machine.config-fil, skal du angive 50 som minWorkerThreads.

maxIOThreads

Denne indstilling bruges til at definere det maksimale antal tråde, der er tildelt til udførelse af input / output-handlinger (I / O). Sådanne operationer inkluderer databasefunktioner, opkald til webtjenester, adgang til filsystemet osv. Standardværdien er 20 pr. CPU, mens en værdi på 100 anbefales.

minIOThreads

Dette bruges til at definere det mindste antal I / O-tråde, der er tilgængelige i trådpuljen på et bestemt tidspunkt. Standardværdien er 1, mens den anbefalede værdi er maxIOThreads / 2. Så hvis du har defineret maxIOThreads som 100 i din machine.config-fil, skal du nævne 50 som minIOThreads.

Sæt det hele sammen

Lad os nu sætte alle disse indstillinger i gang. Følgende kodeliste illustrerer de typiske indstillinger i en machine.config-fil baseret på de anbefalede indstillinger, der er beskrevet tidligere i artiklen.

 

        

            

        

    

    

        

maxWorkerThreads = "100"

maxIoThreads = "100"

minWorkerThreads = "50"

minIoThreads = "50"

         />