Freigeben über


Was ist Hosteinschränkung?

Ein Großteil der Datenverarbeitung unter BizTalk Server findet innerhalb einer logischen Entität statt, die als BizTalk Server-Hostinstanz bezeichnet wird. Hierbei handelt es sich um einen Prozess, der als Windows-Dienst oder als isolierter Hostprozess auf dem BizTalk Server ausgeführt wird. Zum Verwalten der Ressourcennutzung eines Hostinstanzprozesses verwendet BizTalk Server einen anpassbaren Einschränkungsmechanismus, der den Nachrichtenfluss und die Nachrichtenverarbeitung in einer Hostinstanz reguliert.

Dieser Einschränkungsmechanismus regelt die Arbeitslast der Hostinstanz, um sicherzustellen, dass die Arbeitslast die Kapazität dieser Hostinstanz oder anderer nachfolgender Hostinstanzen nicht übersteigt. Außerdem verhindert der Einschränkungsmechanismus Ressourcenkonflikte, die sich negativ auf die Gesamtleistung der Hostinstanz oder anderer Systemprozesse auswirken können. Ressourcenkonflikte treten auf, wenn ein oder mehrere Prozesse eine eingeschränkte Ressource derart belegen, dass dies zu einer Leistungsminderung dieser und/oder anderer Prozesse führt. Eine übermäßige Inanspruchnahme von Speicher oder Threads kann zu einem Speicherzuweisungsfehler oder einer hohen Anzahl an Threadkontextwechseln führen, was sich auf die Prozessleistung auswirken kann. Diese Art der Ressourcenkonflikte können die Gesamtleistung von BizTalk Server herabsetzen.

Des weiteren erkennt der Hosteinschränkungsmechanismus auch, ob verfügbare Ressourcen ungenügend ausgelastet sind. In diesem Fall sorgt der Einschränkungsmechanismus dafür, dass zusätzliche Nachrichten von einer Hostinstanz verarbeitet werden. Der Hosteinschränkungsmechanismus überwacht also fortwährend, ob verfügbare Ressourcen über- oder unterbelastet sind und passt den Nachrichtenfluss durch die Hostinstanz entsprechend an.

Mithilfe des Hosteinschränkungsmechanismus von BizTalk Server wird sichergestellt, dass das System mit optimaler und nachhaltiger Leistung arbeitet.

Die Konfigurationsparameter für die Hosteinschränkung werden für jeden Host in der BizTalk Server-Verwaltungskonsole festgelegt. Beachten Sie hierbei, dass die festgelegten Konfigurationsparameter für die Hosteinschränkung für alle Empfangshandler, Sendehandler oder Orchestrierungen gelten, die in den jeweiligen Hostinstanzen untergebracht sind. Wenn Sie Einschränkungsparameter nur für bestimmte Empfangshandler, Sendehandler oder Orchestrierungen festlegen möchten, gehen Sie folgendermaßen vor:

  • Erstellen Sie einen neuen Host, und legen Sie die Einschränkungsparameter entsprechend fest.

  • Konfigurieren Sie den Empfangshandler, den Sendehandler oder die Orchestrierung, der bzw. die in diesem Host ausgeführt werden soll.

  • Erstellen Sie eine oder mehrere Instanzen dieses Hosts, die auf Ihren BizTalk-Servern ausgeführt werden sollen.

Eingehende Hosteinschränkung

Die Drosselung eingehender Hosts, die auch als Drosselung der Nachrichtenveröffentlichung in BizTalk Server bezeichnet wird, wird auf Hostinstanzen angewendet, die Empfangsadapter oder Orchestrierungen enthalten, die Nachrichten in der MessageBox-Datenbank veröffentlichen. Unter den folgenden Bedingungen kann eine eingehende Hosteinschränkung ausgelöst werden:

  • Die Menge des Arbeitsspeichers, die Anzahl der Threads oder die Anzahl der vom Host instance verwendeten Datenbankverbindungen überschreitet die Drosselungsschwellenwerte, die im Einstellungsdashboard in der BizTalk-Gruppe verfügbar sind und Einstellungen auswählen. Diese Werte sind mit Leistungsmonitorindikatoren messbar, die unter der Leistungsobjektkategorie BizTalk:Message Agent verfügbar sind.

  • Nachfolgende Hosts können die veröffentlichten Nachrichten nicht verarbeiten. Dadurch wird der Wert der Nachrichtenanzahl im DB-Parameter erhöht. Der Schwellenwert, ab dem die Nachrichtenanzahl im DB-Wert eine Einschränkungsbedingung auslöst, kann für die Option Hosts im Einstellungsdashboard konfiguriert werden. Die Nachrichtenanzahl in der Datenbank kann mit dem Leistungsindikator Datenbankgröße unter der Leistungsobjektkategorie BizTalk:Message Agent gemessen werden.

  • Die Eingehende Rate für die Nachrichtenveröffentlichung für den Host instance überschreitet die ausgehende Rate für die Nachrichtenveröffentlichung\* den angegebenen Wert des Rate overdrive-Faktors. Der Wert des Rate-Overdrive-Faktors wird unter Einstellungendashboard, Hosts und dann rate-Based Drosselling definiert. Die Nachrichtenveröffentlichungsraten für ein- und ausgehende Nachrichten können mit den entsprechenden Leistungsindikatoren des Leistungsmonitors unter der Kategorie BizTalk:Message Agent-Leistungsobjekt gemessen werden.

  • Das Standarddrosselungsverhalten wurde geändert. Mithilfe des Einstellungsdashboards für BizTalk Server Leistungsoptimierung werden die verschiedenen Werte beschrieben, die sich auf das Einschränkungsverhalten auswirken.

    Je nach Schweregrad der Einschränkung werden die folgenden Aktionen durchgeführt:

  • In der Verarbeitungslogik der Hostinstanz wird eine progressive Verzögerung implementiert. Die Verzögerung kann implementiert werden, wenn ein EPM-Thread (End Point Manager, Endpunkt-Manager) einen Stapel von Nachrichten vom Transportadapter empfängt und/oder wenn der Endpunkt-Manager einen Stapel von Nachrichten zum Veröffentlichen an die MessageBox-Datenbank übermittelt. Sowohl die Dauer der Verarbeitungsverzögerung als auch die Rate, mit der die Dauer erhöht wird, hängen vom Schweregrad der Einschränkung ab.

  • Die Anzahl der dem Endpunkt-Manager (EPM) zur Verfügung stehenden Threads ist eingeschränkt. Der EPM empfängt von Adaptern Nachrichtenstapel und veröffentlicht die Nachrichten in der MessageBox-Datenbank. Standardmäßig ist der EPM für die Verwendung von 20 Threads pro CPU konfiguriert. Wenn der Hosteinschränkungsmechanismus bei der Eingangsverarbeitung Situationen mit hoher Last ermittelt, kann er die dem EPM zur Verfügung stehende Anzahl an Threads vorübergehend reduzieren, bis sich die Situation wieder normalisiert hat. Der EPM kann nur dann Nachrichten von Transportadaptern verarbeiten oder Nachrichtenstapel an die MessageBox-Datenbank übermitteln, wenn ein EPM-Thread zum Verarbeiten des eingehenden Nachrichtenstapels verfügbar ist.

  • Die Nutzung von Speicher und anderen Ressourcen wird je nach Bedarf reduziert. BizTalk Server kann Anweisungen an andere Dienstklassen senden, um die Speicherbelegung zu reduzieren, indem laufende Zeitpläne angehalten werden, die Arbeitsspeichercachegröße reduziert wird und die Nutzung von arbeitsspeicherintensiven Threads eingeschränkt wird.

    Eingehender Nachrichtenfluss von Adapter zu MessageBox

    Eingehender Nachrichtenfluss von Adapter zu MessageBox

Ausgehende Hosteinschränkung

Die Ausgangshostdrosselung, die auch als Einschränkung der Nachrichtenverarbeitung in BizTalk Server bezeichnet wird, wird auf Hostinstanzen angewendet, die Orchestrierungen oder Sendeadapter enthalten, die Nachrichten empfangen und übermitteln oder verarbeiten, die in messageBox veröffentlicht wurden. Unter den folgenden Bedingungen kann eine ausgehende Hosteinschränkung ausgelöst werden:

  • Die Menge des Arbeitsspeichers, die Anzahl der Threads oder die Anzahl der vom Host instance verwendeten Datenbankverbindungen überschreitet die Drosselungsschwellenwerte, die in der ressourcenbasierten Einschränkung im Einstellungsdashboard definiert sind. Diese Werte sind mit Leistungsmonitorindikatoren messbar, die unter der Leistungsobjektkategorie BizTalk:Message Agent verfügbar sind.

  • Die Eingehende Rate der Nachrichtenübermittlung für den Host instance übersteigt die ausgehende Nachrichtenübermittlungsrate * den angegebenen Wert des Rate-Overdrive-Faktors. Der Wert des Rate-Overdrive-Faktors wird auf der Registerkarte Ratenbasierte Einschränkung im Einstellungsdashboard definiert. Die eingehenden und ausgehenden Nachrichtenübermittlungsraten können mit den entsprechenden Leistungsindikatoren des Leistungsmonitors unter der Kategorie BizTalk:Message Agent-Leistungsobjekt gemessen werden.

  • Die Anzahl der gleichzeitig vom Host verarbeiteten Nachrichten instance übersteigt die In-Process-Nachrichten pro CPU * die Anzahl der auf dem Feld verfügbaren CPUs. Der Schwellenwert für In-Process-Nachrichten wird auf der Registerkarte Ressourcenbasierte Einschränkung im Einstellungsdashboard definiert. Die Anzahl von Nachrichten, die gleichzeitig vom Host instance verarbeitet werden, kann mit dem Leistungsindikator Für die Anzahl von In-Process-Nachrichten unter der Leistungsobjektkategorie BizTalk:Message Agent gemessen werden.

  • Das Standarddrosselungsverhalten wurde geändert. Mithilfe des Einstellungsdashboards für BizTalk Server Leistungsoptimierung werden die verschiedenen Werte beschrieben, die sich auf das Einschränkungsverhalten auswirken.

    Abhängig vom Schweregrad der Einschränkungsbedingung werden die folgenden Aktionen ausgeführt:

  • In der Verarbeitungslogik der Hostinstanz wird eine progressive Verzögerung implementiert, bevor die Nachrichten an den ausgehenden Transportadapter oder die Orchestrierungs-Engine zum Verarbeiten der Nachrichten übermittelt werden. Sowohl die Dauer der Verarbeitungsverzögerung als auch die Rate, mit der die Dauer erhöht wird, hängen vom Schweregrad der Einschränkungsbedingung ab.

  • Die Warteschlange im Arbeitsspeicher kann nur eine eingeschränkte Anzahl an Nachrichten aufnehmen. Die Warteschlange im Arbeitsspeicher dient zur temporären Aufbewahrung beim Übermitteln von Nachrichten aus der MessageBox zum Nachrichtenagenten, der wiederum Nachrichten an XLANG und Sendeadapter übermittelt. Standardmäßig kann die Warteschlange im Arbeitsspeicher 100 Nachrichten pro CPU aufnehmen. Ist die Warteschlange voll, werden keine weiteren Nachrichten aus der MessageBox entnommen, bis die Warteschlange neue Nachrichten aufnehmen kann.

  • Die Threadpoolgröße des Nachrichtenagenten ist eingeschränkt. Durch diese Einschränkung reduziert der Hosteinschränkungsmechanismus effektiv die Anzahl an Nachrichten, die an XLANG und die Adapter übermittelt werden.

    Die Standardgröße des Threadpools für den Nachrichten-Agent kann geändert werden, indem Sie den Wert Für maximale Enginethreads auf der Registerkarte Allgemein im Dashboard Einstellungen ändern. Weitere Informationen zum Ändern dieses Werts finden Sie unter Ändern allgemeiner Einstellungen.

  • Die Nutzung von Speicher und anderen Ressourcen wird je nach Bedarf reduziert. BizTalk Server kann Anweisungen an andere Dienstklassen senden, um die Speicherbelegung zu reduzieren, indem laufende Zeitpläne angehalten werden, die Arbeitsspeichercachegröße reduziert und die Nutzung von arbeitsspeicherintensiven Threads eingeschränkt wird.

    Ausgehender Datenfluss aus der MessageBox zu den Adaptern und XLANG

    Ausgehender Nachrichtenfluss an Adapter und XLANG

Weitere Informationen

Implementieren der Hosteinschränkung mit BizTalk Server
Verwenden des Dashboards für Einstellungen zur Leistungsoptimierung bei BizTalk Server