So optimieren Sie die Einstellungen von machine.config, um die Leistung zu verbessern

Das Ändern der Einstellungen in Ihren Konfigurationsdateien in ASP.Net kann zu einer deutlichen Leistungssteigerung führen. Diese Dateien umfassen machine.config und web.config.

Die Datei web.config ist anwendungsspezifisch und wird standardmäßig erstellt, wenn Sie eine Webanwendung oder eine Website in Visual Studio erstellen. Beachten Sie, dass es eine andere Konfigurationsdatei mit dem Namen aspnet.config gibt, die ab ASP.Net 2.0 verfügbar ist. Diese Datei ist im Stammverzeichnis des .Net Framework-Ordners in Ihrem System verfügbar. Die Maschinenkonfigurationsdatei heißt unterdessen machine.config und befindet sich im Verzeichnis% \ Config%% des Laufzeitinstallationspfads.

Während die Einstellungen in der Datei web.config nur für die Anwendung gelten, gelten die Einstellungen in der Datei machine.config maschinenweit. Beachten Sie, dass die Datei machine.config installiert wird, wenn Sie .NET Framework auf Ihrem System installieren. Sie können nur eine machine.config-Datei in Ihrem System haben (nur eine pro System) und diese befindet sich im Verzeichnis \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG.

Es ist zu beachten, dass die in der Datei machine.config definierten Einstellungen durch die in der Datei web.config in Ihrer Anwendung definierten Einstellungen überschrieben werden. Eine Anwendung kann mehrere web.config-Dateien haben. Im Übrigen erbt die Datei web.config die in der Datei machine.config definierten Einstellungen.

Empfohlene Einstellungen für machine.config

In diesem Abschnitt werden die Einstellungen erläutert, die für Leistungssteigerungen auf die Datei machine.config angewendet werden können. Beachten Sie, dass die Standard- und empfohlenen Werte für jede Einstellung angegeben wurden.

maxconnection

Sie können die system.Net-Einstellungen in Ihrer Datei machine.config anpassen, damit Ihre Anwendung mehr gleichzeitige Anforderungen bearbeiten kann. Der Standardwert ist 2, während der empfohlene Wert 12 pro CPU beträgt.

   

       

   

Hier sind die empfohlenen Einstellungen für den Prozessmodellabschnitt in Ihrer Datei machine.config, um Leistungsvorteile zu erzielen. Sie können die Einstellungen im Prozessmodell in Ihrer Datei machine.config anpassen, um Arbeitsthreads, E / A-Threads usw. zu steuern. Beachten Sie, dass ein Thread die kleinste Ausführungseinheit innerhalb eines Prozesses ist.

memoryLimit

Diese Einstellung wird verwendet, um den Prozentsatz des gesamten Systemspeichers anzugeben, den der Prozess verwenden würde. Der Standardwert ist 40. Der empfohlene Wert für diese Einstellung hängt von vielen Faktoren ab. Zu diesen Überlegungen gehören (ohne darauf beschränkt zu sein) Folgendes:

  • Wenn die Anwendung in einer isolierten Box installiert ist
  • Auftreten von Speicherlecks in der Anwendung

maxWorkerThreads

Diese Einstellung wird verwendet, um die maximale Anzahl von Arbeitsthreads zu definieren, die zu einem bestimmten Zeitpunkt im Thread-Pool verfügbar sind. Ein Thread-Pool besteht aus einer Anzahl von Threads, genauer gesagt einer Sammlung von Threads, und kann verwendet werden, um mehrere Aktivitäten im Hintergrund auszuführen. In der MSDN heißt es: "Ein Thread-Pool ist eine Sammlung von Worker-Threads, die asynchrone Rückrufe im Namen der Anwendung effizient ausführen. Der Thread-Pool wird hauptsächlich verwendet, um die Anzahl der Anwendungsthreads zu reduzieren und die Verwaltung der Worker-Threads bereitzustellen."

Der Standardwert von maxWorkerThreads ist 20 pro CPU und der empfohlene Wert ist 100.

minWorkerThreads

Diese Einstellung bestimmt die Mindestanzahl von Arbeitsthreads, die im Thread-Pool verfügbar sind, um eine eingehende Anforderung zu erfüllen. Der Standardwert ist 1, während der empfohlene Wert maxWorkerThreads / 2 ist. Wenn Sie also maxWorkerThreads in Ihrer Datei machine.config als 100 definiert haben, sollten Sie 50 als minWorkerThreads angeben.

maxIOThreads

Diese Einstellung wird verwendet, um die maximale Anzahl von Threads zu definieren, die für die Ausführung von E / A-Operationen (Input Output) zugewiesen sind. Zu diesen Vorgängen gehören Datenbankvorgänge, Aufrufe von Webdiensten, Zugriff auf das Dateisystem usw. Der Standardwert ist 20 pro CPU, während ein Wert von 100 empfohlen wird.

minIOThreads

Dies wird verwendet, um die Mindestanzahl von E / A-Threads zu definieren, die zu einem bestimmten Zeitpunkt im Thread-Pool verfügbar sind. Der Standardwert ist 1, während der empfohlene Wert maxIOThreads / 2 ist. Wenn Sie also maxIOThreads in Ihrer Datei machine.config als 100 definiert haben, sollten Sie 50 als minIOThreads angeben.

Alles zusammen

Lassen Sie uns nun alle diese Einstellungen anwenden. Die folgende Codeliste zeigt die typischen Einstellungen in einer machine.config-Datei basierend auf den empfohlenen Einstellungen, die weiter oben in diesem Artikel beschrieben wurden.

 

        

            

        

    

    

        

             maxWorkerThreads = "100"

             maxIoThreads = "100"

             minWorkerThreads = "50"

             minIoThreads = "50"

         />