Kako podesiti postavke machine.config za poboljšane performanse

Ugađanje postavki u vašim konfiguracijskim datotekama u ASP.Netu može pružiti lijepo poboljšanje performansi. Te datoteke uključuju machine.config i web.config.

Datoteka web.config specifična je za aplikaciju i stvara se prema zadanim postavkama kada izrađujete web aplikaciju ili web mjesto u Visual Studiju. Imajte na umu da postoji još jedna konfiguracijska datoteka koja se zove aspnet.config - dostupna je od ASP.Net 2.0 nadalje. Ova je datoteka dostupna u korijenu mape .Net Framework u vašem sustavu. Datoteka za konfiguraciju stroja naziva se machine.config i nalazi se u direktoriju% runtime install% \ Config.

Iako se postavke u datoteci web.config primjenjuju samo na aplikaciju, postavke prisutne u datoteci machine.config primjenjive su na cijelom stroju. Imajte na umu da se datoteka machine.config instalira kada instalirate .Net Framework u svoj sustav. U vašem sustavu možete imati samo jednu datoteku machine.config (samo jednu po sustavu) i ona se nalazi u direktoriju \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG.

Treba imati na umu da su postavke definirane u datoteci machine.config poništene onima definiranim u datoteci web.config u vašoj aplikaciji. Aplikacija može imati više datoteka web.config. Inače, datoteka web.config nasljeđuje postavke definirane u machine.config.

Preporučene postavke machine.config

U ovom ćemo odjeljku istražiti postavke koje se mogu primijeniti na datoteku machine.config radi povećanja performansi. Imajte na umu da su zadane i preporučene vrijednosti određene za svaku postavku.

maxkonekcija

Možete podesiti postavke system.Net u datoteci machine.config kako biste omogućili da više aplikacija istovremeno poslužuje više istodobnih zahtjeva. Zadana vrijednost je 2, dok je preporučena vrijednost 12 po CPU.

   

       

   

Evo preporučenih postavki za odjeljak modela procesa u datoteci machine.config radi poboljšanja performansi. Možete podesiti postavke u modelu procesa u datoteci machine.config kako biste kontrolirali radničke niti, I / O niti itd. Imajte na umu da je nit najmanja izvršna jedinica u procesu.

memoryLimit

Ova se postavka koristi za određivanje postotka ukupne sistemske memorije koju bi proces koristio. Zadana vrijednost je 40. Preporučena vrijednost za ovu postavku ovisi o mnogim čimbenicima. Takva razmatranja uključuju (ali nisu ograničena na) sljedeće:

  • Ako je aplikacija instalirana u izolirani okvir
  • Pojava curenja memorije u aplikaciji

maxWorkerThreads

Ova se postavka koristi za definiranje maksimalnog broja radničkih niti koje su dostupne u spremištu niti u bilo kojem trenutku. Spremište niti sastoji se od određenog broja niti, točnije, od skupa niti, a može se koristiti za obavljanje nekoliko aktivnosti u pozadini. MSDN navodi: "Spremište niti je kolekcija radničkih niti koje učinkovito izvršavaju asinkrone povratne pozive u ime aplikacije. Skladište niti prvenstveno se koristi za smanjenje broja aplikacijskih niti i osiguravanje upravljanja radnim nitima."

Zadana vrijednost maxWorkerThreads je 20 po CPU, a preporučena vrijednost je 100.

minWorkerThreads

Ova postavka određuje minimalni broj radničkih niti koje su dostupne u spremištu niti za zadovoljavanje dolaznog zahtjeva. Zadana vrijednost je 1, dok je preporučena vrijednost maxWorkerThreads / 2. Dakle, ako ste u datoteci machine.config definirali maxWorkerThreads kao 100, trebali biste navesti 50 kao minWorkerThreads.

maxIOTreve

Ova se postavka koristi za definiranje maksimalnog broja niti koje su dodijeljene za izvođenje operacija ulaznog izlaza (I / O). Takve operacije uključuju operacije baze podataka, pozive web uslugama, pristup datotečnom sustavu itd. Zadana vrijednost je 20 po CPU, dok se preporučuje vrijednost 100.

minIOTreve

To se koristi za definiranje minimalnog broja I / O niti koje su dostupne u spremištu niti u određenom trenutku. Zadana vrijednost je 1, dok je preporučena vrijednost maxIOThreads / 2. Dakle, ako ste u datoteci machine.config definirali maxIOThreads kao 100, trebali biste spomenuti 50 kao minIOThreads.

Sastavite sve

Stavimo sada sve ove postavke na posao. Sljedeći popis kodova ilustrira tipične postavke u datoteci machine.config na temelju preporučenih postavki opisanih ranije u članku.

 

        

            

        

    

    

        

             maxWorkerThreads = "100"

             maxIoThreads = "100"

             minWorkerThreads = "50"

             minIoThreads = "50"

         />