Konfigurationsparameter mit Auswirkung auf die Adapterleistung
In diesem Abschnitt werden Konfigurationseinstellungen beschrieben, die sich auf die Leistung von BizTalk Server-Adaptern auswirken können.
CLR-Hostthreadwerte für den Host
Da ein Windows-Thread die grundlegendste ausführbare Einheit darstellt, die für einen Windows-Prozess zur Verfügung steht, ist es wichtig, ausreichend Threads für den .NET-Threadpool zu reservieren, der einer Instanz eines BizTalk-Hosts zugeordnet ist, um zu verhindern, dass Threads nicht mehr auf die CPU zugreifen können. Wenn Threads nicht mehr auf die CPU zugreifen können, sind nicht mehr ausreichend Threads verfügbar, um die erforderlichen Aufgaben auszuführen, was sich wiederum negativ auf die Leistung auswirken kann. Gleichzeitig sollte darauf geachtet werden, dass nicht mehr Threads dem .NET-Threadpool zugeordnet werden, der einem Host zugeordnet ist, als notwendig. Die Zuordnung von zu vielen Threads zum .NET-Threadpool, der einem Host zugeordnet ist, kann den Kontextwechsel erhöhen, was sich ebenfalls negativ auf die Leistung auswirken kann. Kontextwechsel treten auf, wenn der Windows-Kernel von der Ausführung eines Threads zu einem anderen Thread wechselt. Dies kann einen kostenintensiven CPU-Vorgang bedeuten.
Ändern Sie die Anzahl der verfügbaren Windows-Threads im .NET-Threadpool, der einer instance eines BizTalk-Hosts zugeordnet ist, indem Sie die entsprechenden Werte im Dashboard für BizTalk Server-Einstellungen konfigurieren. Weitere Informationen zum Ändern der .NET CLR-Werte finden Sie unter Ändern der .NET-CLR-Einstellungen.
ASP.NET-Einstellungen, die sich auf die HTTP- oder SOAP-Adapterleistung auswirken können
Die folgenden Einstellungen können auf eine ASP.NET Anwendung angewendet werden, die eine Webanwendung hostet, mit der der HTTP- oder SOAP-Adapter kommuniziert. Diese Parameter werden in den Dateien "web.config" oder "machine.config" des Servers festgelegt, der die Webanwendung hostet. Ändern Sie diese Einstellungen, um der Arbeitslast zu entsprechen, die vom Sendeport Ihres HTTP- oder SOAP-Adapters generiert wird. Weitere Informationen zu diesen Einstellungen finden Sie unter Leistungsprobleme beim Aufrufen von Webdiensten aus einer ASP.NET-Anwendung.
Parameter | Abschnitt der Konfigurationsdatei | Standardwert | Empfohlener Wert |
---|---|---|---|
minFreeThreads Die Mindestanzahl freier Threads, die die Ausführung neuer Anforderungen gestattet. ASP.NET hält diese Anzahl von Threads frei für Anforderungen, die zusätzliche Threads zum Abschließen der Verarbeitung erfordern. |
<httpRuntime> | 8 | 88 * die Anzahl der Prozessoren auf dem Server, auf dem die Webanwendung gehostet wird. |
minFreeLocalRequestFreeThreads Die Mindestanzahl freier Threads, die von ASP.NET verfügbar gehalten werden, um die Ausführung neuer lokaler Anforderungen zu gestatten. Diese Anzahl von Threads wird für Anforderungen reserviert, die vom lokalen Host kommen, falls einige Anforderungen während ihrer Verarbeitung untergeordnete Anforderungen an den lokalen Host stellen. Dadurch wird ein möglicher Deadlock mit rekursivem Wiedereintritt in den Webserver vermieden. |
<httpRuntime> | 4 | 76 * die Anzahl der Prozessoren auf dem Server, auf dem die Webanwendung gehostet wird. |
executionTimeout Gibt die maximale Anzahl von Sekunden an, die eine Anforderung ausgeführt werden darf, bevor sie automatisch von ASP.NET heruntergefahren wird. |
<httpRuntime> | 90 | 90 |
maxconnection Bestimmt, wie viele Verbindungen mit einer bestimmten IP-Adresse hergestellt werden können. |
<connectionManagement> | 2 Der Wert „2“ für diese Einstellung entspricht der IETF RFC für die HTTP 1.1-Spezifikation und ist für Benutzerszenarien geeignet, jedoch nicht für hohe Durchsätze optimiert. |
12 * die Anzahl der Prozessoren auf dem Server, auf dem die Webanwendung gehostet wird. |
maxWorkerThreads Konfiguriert die Höchstanzahl von Arbeitsthreads, die für den Prozess auf CPU-Basis verwendet wird. |
<processModel> | 20 | 100 Hinweis: Dieser Wert wird implizit mit der Anzahl der Prozessoren auf dem Server multipliziert. |
minWorkerThreads | <processModel> | 1 | maxWorkerThreads /2 Hinweis: Der parameter minWorkerThreads ist nicht standardmäßig in der Konfigurationsdatei enthalten. Sie müssen es hinzufügen. Hinweis: Dieser Wert wird implizit mit der Anzahl der Prozessoren auf dem Server multipliziert. |
maxIoThreads Dieser Parameter wird von ASP.NET verwendet, um die Anzahl der Abschlussthreads einzuschränken. |
<processModel> | 20 | 100 Dieser Wert wird implizit mit der Anzahl der Prozessoren auf dem Server multipliziert. |
Wenn auf dem Computer, auf dem die Webdienste gehostet werden, ASP.NET 2.0 oder höher ausgeführt wird, können Sie autoConfig=true im Abschnitt processModel der Machine.config-Datei festlegen, um die folgenden Einstellungen automatisch zu konfigurieren, um basierend auf der Computerkonfiguration eine optimale Leistung zu erzielen:
Das maxWorkerThreads-Attribut .
Das maxIoThreads-Attribut .
Das minFreeThreads-Attribut des httpRuntime-Elements.
Das minLocalRequestFreeThreads-Attribut des httpRuntime-Elements.
Das maxConnection-Attribut des <connectionManagement-Elements> (Netzwerkeinstellungen).
Hinweis
Der Abschnitt processModel kann nur innerhalb der Machine.config-Datei festgelegt werden und wirkt sich auf alle ASP.NET Anwendungen aus, die auf dem Server ausgeführt werden.
Weitere Informationen zu processModel finden Sie unter ProcessModelSection-Klasse.
Registrierungseinstellung, die die TCP-Fenstergröße bestimmt
Die folgende Registrierungseinstellung bestimmt die TCP-Fenstergröße, bei der es sich um die Menge der empfangenen Daten (in Bytes) handelt, die während einer Verbindung gespeichert werden können. Wenn für diesen Parameter kein optimaler Wert eingestellt wird, kann sich dies negativ auf die Adapterleistung auswirken. Implementieren Sie diese Registrierungseinstellung, um die TCP-Fenstergröße zu erhöhen.
Warnung
Die fehlerhafte Verwendung des Registrierungs-Editors kann zu schweren Problemen führen, die möglicherweise eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass Probleme, die aus der falschen Verwendung des Registrierungs-Editors resultieren, gelöst werden können. Sie verwenden den Registrierungs-Editor auf eigene Gefahr. Bevor Sie die Registrierung ändern, sichern Sie immer die Registrierung, und vergewissern Sie sich, dass Sie wissen, wie Sie die Sicherung wiederherstellen können, wenn ein Problem auftritt.
Befolgen Sie die folgenden Schritte, um die TCP-Standardfenstergröße zu erhöhen:
Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sieregedit.exeein, und klicken Sie dann auf OK , um den Registrierungs-Editor zu starten.
Navigieren Sie zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\
Erstellen Sie unter dem Schlüssel Parameter den folgenden DWORD-Eintrag mit dem angegebenen Wert.
DWORD-Eintrag Standardwert Empfohlener Wert TcpWindowSize
Diese Einstellung bestimmt die maximale TCP-Empfangsfenstergröße des Computers. Das Empfangsfenster gibt die Anzahl der Bytes an, die von einem Absender übertragen werden können, ohne eine Bestätigung zu erhalten. Im Allgemeinen erhöhen große Empfangsfenster die Leistung bei Netzwerken mit hoher Bandbreite.17520 Legen Sie den Wert auf ein Vielfaches der maximalen Ethernet-Segmentgröße (MSS) von 1460 bis zu einem Maximum von 64240 fest. Wenn die Windows-Skalierung verwendet wird, legen Sie den Wert auf ein Maximum von 65535 fest. Hinweis
Sie müssen den Computer neu starten, damit diese Änderungen wirksam werden.
Schließen Sie den Registrierungs-Editor.