Προγραμματισμός

Τρόπος συντονισμού των ρυθμίσεων του machine.config για βελτιωμένη απόδοση

Η προσαρμογή των ρυθμίσεων στα αρχεία διαμόρφωσης στο ASP.Net μπορεί να προσφέρει μια ωραία ώθηση στην απόδοση. Αυτά τα αρχεία περιλαμβάνουν το machine.config και το web.config.

Το αρχείο web.config αφορά συγκεκριμένη εφαρμογή και δημιουργείται από προεπιλογή όταν δημιουργείτε μια εφαρμογή ιστού ή μια τοποθεσία web στο Visual Studio. Σημειώστε ότι υπάρχει ένα άλλο αρχείο ρυθμίσεων που ονομάζεται aspnet.config - είναι διαθέσιμο από το ASP.Net 2.0 και μετά. Αυτό το αρχείο είναι διαθέσιμο στη ρίζα του φακέλου .Net Framework στο σύστημά σας. Το αρχείο διαμόρφωσης μηχανήματος, εν τω μεταξύ, ονομάζεται machine.config και βρίσκεται στον κατάλογο% runtime install path% \ Config.

Ενώ οι ρυθμίσεις στο αρχείο web.config ισχύουν μόνο για την εφαρμογή, οι ρυθμίσεις που υπάρχουν στο αρχείο machine.config ισχύουν σε όλο το μηχάνημα. Σημειώστε ότι το αρχείο machine.config εγκαθίσταται κατά την εγκατάσταση του .Net Framework στο σύστημά σας. Μπορείτε να έχετε μόνο ένα αρχείο machine.config στο σύστημά σας (μόνο ανά σύστημα) και βρίσκεται στον κατάλογο \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG.

Θα πρέπει να σημειωθεί ότι οι ρυθμίσεις που ορίζονται στο αρχείο machine.config παρακάμπτονται από αυτές που ορίζονται στο αρχείο web.config στην εφαρμογή σας. Μια εφαρμογή μπορεί να έχει πολλά αρχεία web.config. Παρεμπιπτόντως, το αρχείο web.config κληρονομεί τις ρυθμίσεις που ορίζονται στο machine.config.

Προτεινόμενες ρυθμίσεις machine.config

Σε αυτήν την ενότητα θα διερευνήσουμε τις ρυθμίσεις που μπορούν να εφαρμοστούν στο αρχείο machine.config για κέρδη απόδοσης. Σημειώστε ότι οι προεπιλεγμένες και οι προτεινόμενες τιμές έχουν καθοριστεί σε κάθε ρύθμιση.

μέγιστη σύνδεση

Μπορείτε να τροποποιήσετε τις ρυθμίσεις του συστήματος.Net στο αρχείο machine.config για να επιτρέψετε την ταυτόχρονη εξυπηρέτηση περισσότερων αιτημάτων από την εφαρμογή σας. Η προεπιλεγμένη τιμή είναι 2 ενώ η συνιστώμενη τιμή είναι 12 ανά CPU.

   

       

   

Ακολουθούν οι προτεινόμενες ρυθμίσεις για την ενότητα μοντέλου διαδικασίας στο αρχείο machine.config για οφέλη απόδοσης. Μπορείτε να τροποποιήσετε τις ρυθμίσεις στο μοντέλο διαδικασίας στο αρχείο machine.config για να ελέγξετε τα νήματα εργαζομένων, τα νήματα εισόδου / εξόδου κ.λπ. Σημειώστε ότι ένα νήμα είναι η μικρότερη μονάδα εκτέλεσης σε μια διαδικασία.

memoryLimit

Αυτή η ρύθμιση χρησιμοποιείται για να καθορίσει το ποσοστό της συνολικής μνήμης συστήματος που θα χρησιμοποιήσει η διαδικασία. Η προεπιλεγμένη τιμή είναι 40. Η συνιστώμενη τιμή για αυτήν τη ρύθμιση εξαρτάται από πολλούς παράγοντες. Τέτοιες εκτιμήσεις περιλαμβάνουν (αλλά δεν περιορίζονται σε) τα ακόλουθα:

  • Εάν η εφαρμογή είναι εγκατεστημένη σε απομονωμένο πλαίσιο
  • Παρουσία διαρροών μνήμης στην εφαρμογή

maxWorkerThreads

Αυτή η ρύθμιση χρησιμοποιείται για τον καθορισμό του μέγιστου αριθμού νημάτων εργαζομένων που είναι διαθέσιμα στο σύνολο νημάτων σε οποιαδήποτε δεδομένη χρονική στιγμή. Μια ομάδα νημάτων περιλαμβάνει έναν αριθμό νημάτων, ή, μια συλλογή νημάτων με ακρίβεια, και μπορεί να χρησιμοποιηθεί για την εκτέλεση πολλών δραστηριοτήτων στο παρασκήνιο. Το MSDN δηλώνει: "Μια ομάδα νήματος είναι μια συλλογή από νήματα εργαζομένων που εκτελούν αποτελεσματικά ασύγχρονες επιστροφές κλήσεων εκ μέρους της εφαρμογής. Το σύνολο νήματος χρησιμοποιείται κυρίως για τη μείωση του αριθμού των νημάτων εφαρμογής και για τη διαχείριση των νημάτων εργαζομένων."

Η προεπιλεγμένη τιμή του maxWorkerThreads είναι 20 ανά CPU και η συνιστώμενη τιμή είναι 100.

minWorkerThreads

Αυτή η ρύθμιση καθορίζει τον ελάχιστο αριθμό νημάτων εργαζομένων που είναι διαθέσιμα στην ομάδα νημάτων για την ικανοποίηση ενός εισερχόμενου αιτήματος. Η προεπιλεγμένη τιμή είναι 1 ενώ η συνιστώμενη τιμή είναι maxWorkerThreads / 2. Επομένως, εάν έχετε ορίσει maxWorkerThreads ως 100 στο αρχείο machine.config, θα πρέπει να ορίσετε 50 ως minWorkerThreads.

maxIOThreads

Αυτή η ρύθμιση χρησιμοποιείται για τον καθορισμό του μέγιστου αριθμού νημάτων που κατανέμονται για την εκτέλεση λειτουργιών εξόδου εισόδου (I / O). Τέτοιες λειτουργίες περιλαμβάνουν λειτουργίες βάσης δεδομένων, κλήσεις προς υπηρεσίες ιστού, πρόσβαση στο σύστημα αρχείων κ.λπ. Η προεπιλεγμένη τιμή είναι 20 ανά CPU ενώ συνιστάται τιμή 100.

minIOThreads

Αυτό χρησιμοποιείται για τον καθορισμό του ελάχιστου αριθμού νημάτων εισόδου / εξόδου που είναι διαθέσιμα στην ομάδα νημάτων σε μια συγκεκριμένη χρονική στιγμή. Η προεπιλεγμένη τιμή είναι 1 ενώ η συνιστώμενη τιμή είναι maxIOThreads / 2. Επομένως, εάν έχετε ορίσει maxIOThreads ως 100 στο αρχείο machine.config, θα πρέπει να αναφέρετε το 50 ως minIOThreads.

Βάλτε τα όλα μαζί

Ας βάλουμε όλες αυτές τις ρυθμίσεις σε λειτουργία. Η ακόλουθη λίστα κωδικών απεικονίζει τις τυπικές ρυθμίσεις σε ένα αρχείο machine.config με βάση τις προτεινόμενες ρυθμίσεις που περιγράφονται παραπάνω στο άρθρο.

 

        

            

        

    

    

        

maxWorkerThreads = "100"

maxIoThreads = "100"

minWorkerThreads = "50"

minIoThreads = "50"

         />

    

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