Freigeben über


Beobachtungen und Empfehlungen

Zusammenfassung der Testergebnisse

Die Ergebnisse für das Szenario "Nur Messaging" wurden bei ca. 109.382.400 Nachrichten pro Tag beobachtet. Für das Orchestrierungsszenario geben die Ergebnisse an, dass ein einzelner Computer, auf dem BizTalk Server ausgeführt wird, bis zu 58.752.000 Nachrichten pro Tag verarbeiten kann. Diese Ergebnisse wurden in einer Sandkastenumgebung mit normaler Unternehmenshardware erzielt, die für viele BizTalk Server-Lösungen bereitgestellt wurde. Daher geben diese Ergebnisse den Typ der BizTalk Server Leistung an, die ohne benutzerdefinierten Code erreicht werden kann. Kundenlösungen umfassen häufig benutzerdefinierte BizTalk-Artefakte. in vielen Fällen erhöht dies die Verarbeitungsanforderungen, was sich wiederum auf die Leistung auswirkt. Wenn Sie die in diesem Leitfaden beschriebenen Empfehlungen befolgen, insbesondere im Abschnitt Optimieren BizTalk Server Anwendungen, können die Auswirkungen der Implementierung von benutzerdefinierten BizTalk Server Artefakten minimiert werden.

Die folgende Tabelle enthält eine Zusammenfassung der Testergebnisse für diese Leistungsbewertung.

Szenario Messaging (BizTalk KPI – Verarbeitete Dokumente pro Sekunde) Messaging (SQL KPI – SQL-Prozessorauslastung) Messaginglatenz (Sekunden) Orchestrierung (BizTalk KPI – Verarbeitete Dokumente pro Sekunde) Orchestrierung (SQL KPI – SQL-Prozessorauslastung) Orchestrierungslatenz (Sekunden)
Einzelner MessageBox 1 BizTalk Server Computer 1266 verarbeitete Dokumente pro Sekunde 59 % SQL-CPU-Auslastung 0.06 680 verarbeitete Dokumente pro Sekunde 66,5 % SQL-CPU-Auslastung 0.067
Einzelne MessageBox 2-BizTalk Server-Computer 1267 verarbeitete Dokumente pro Sekunde 59,8 % SQL-CPU-Auslastung 0,057 686 verarbeitete Dokumente pro Sekunde 68,5 % SQL-CPU-Auslastung 0.067
3 MessageBox 1 BizTalk Server Computer 2102 verarbeitete Dokumente pro Sekunde 41 % SQL-CPU-Auslastung 0,077 974 verarbeitete Dokumente pro Sekunde 48 % SQL-CPU-Auslastung 0,11
3 MessageBox 2 BizTalk Server Computer 2285 verarbeitete Dokumente pro Sekunde 58 % SQL-CPU-Auslastung 0,041 1065 verarbeitete Dokumente pro Sekunde 65 % SQL-CPU-Auslastung 0..69
4 MessageBoxes 1 BizTalk Server Computer 2125 verarbeitete Dokumente pro Sekunde 30 % SQL-CPU-Auslastung 0.078 979 bearbeitete Dokumente pro Sekunde 37 % SQL-CPU-Auslastung 0.095
4 MessageBoxes 2 BizTalk Server Computer 2790 verarbeitete Dokumente pro Sekunde 50 % SQL-CPU-Auslastung 0,052 1487 verarbeitete Dokumente pro Sekunde 63 % SQL-CPU-Auslastung 0,15
4 MessageBoxes 3 BizTalk Server Computer 2656 verarbeitete Dokumente pro Sekunde 58 % SQL-CPU-Auslastung 0,074 1388 verarbeitete Dokumente pro Sekunde 65 % SQL-CPU-Auslastung 0,15

Vergleich von Leistungsstatistiken mit BizTalk Server 2009

Die folgende Tabelle zeigt einen Vergleich der Leistungsstatistiken zwischen BizTalk Server 2009 und BizTalk Server 2010. Die in dieser Tabelle aufgeführten Leistungsstatistiken BizTalk Server 2009 stammen aus dem BizTalk Server 2009-Handbuch zur Leistung und Optimierung.

Szenario BizTalk Server 2009
Maximaler nachhaltiger Durchsatz (MST) msgs/s
BizTalk Server 2009
Anzahl der erforderlichen BizTalk-Server
BizTalk Server 2010
Maximaler nachhaltiger Durchsatz (MST) msgs/s
BizTalk Server 2010
Anzahl der erforderlichen BizTalk-Server
BizTalk Server 2010 % Unterschied zum BizTalk Server 2009
Messaging – Einzelnes MessageBox-Element 1.291 2 1266 1 98.06%
Orchestrierung – Einzelnes MessageBox-Element 676 2 680 1 100.59%
Messaging – 3 MessageBoxes 2103 3 2285 2 (2102/s mit 1 BTS) 108.65%
Messaging – 4 MessageBoxes Nicht zutreffend Nicht zutreffend 2790 2 Nicht zutreffend
Orchestrierung – 3 MessageBoxes 1005 4 1065 2 (974/s mit 1 BTS) 105.97%
Orchestrierung – 4 MessageBoxes Nicht zutreffend Nicht zutreffend 1487 2 Nicht zutreffend

Bei verwendung von vier MessageBox-Datenbanken in unserer Labumgebung lauteten die Ergebnisse des maximalen nachhaltigen Durchsatzes wie folgt:

  • Für das Messagingszenario 2790 Dokumente pro Sekunde.

  • Für orchestrierungsszenarios 1487 Dokumente pro Sekunde.

    Überlegungen zu Nachrichten Während BizTalk Server keine Einschränkung für die Nachrichtengröße erzwingt, haben die Tests, die wir für BizTalk Server 2010 ausgeführt haben, nur 2-KB-Nachrichten verwendet, und der Typ des verwendeten WCF-Adapters war WCF-NetTCP Adapter. Dies entspricht der Nachrichtengröße und dem Adaptertyp, die in den Tests für das BizTalk Server 2009-Handbuch zur Leistungsoptimierung verwendet wurden.

    Die Treiber für die Leistungsverbesserung sind:

  1. Hardwareentwicklung: Die SQL Server Computer, die in unserem Lab verwendet wurden, waren 4-CPU, Quad-Core (16 Kerne), Intel Xeon E7330 mit 2,40 GHz. In den Tests 2009 wurden 4-CPU, Quad-Core (16 Kerne) und Intel Xeon 2,4 GHz verwendet.

    Die in unserem Lab verwendeten BizTalk Server Computer waren 2-CPU, Quad-Core (8 Kerne), Nehalem Hyper-Threaded (16 logische Kerne), Intel Xeon X5570 mit 2,93 GHz. In den Tests 2009 wurden 2-CPU, Quad-Core (8 Kerne), Intel Xeon 2,33 GHz verwendet.

  2. Verbesserung der SQL Server Engine: Die Tests im Jahr 2009 wurden mit SQL Server 2008 durchgeführt, während unsere Tests mit SQL Server 2008 R2 als zugrunde liegende Datenbankplattform durchgeführt wurden.

Empfehlungen zum Skalieren der BizTalk Server- und SQL Server ebenen

Mit diesen Ergebnissen konnte das BizTalk Server Produktteam zeigen, dass ein einzelner BizTalk Server Computer und ein einzelner SQL Server Computer über 109 Millionen Nachrichten in einem Messagingszenario und 58 Millionen Orchestrierungen während eines Zeitraums von 24 Stunden unterstützen kann. Durch Die Skalierung der BizTalk Server- und SQL-Ebenen auf die optimale Konfiguration, die in unserer Umgebung verfügbar ist, konnten wir mehr als 241 Millionen Nachrichten pro Tag und über 128 Millionen Orchestrierungen verarbeiten. Die Ergebnisse wurden in einer Sandkastenumgebung mithilfe der In vielen Unternehmen bereitgestellten Hardwareklasse ausgeführt. Wie bereits erwähnt, stellen diese Zahlen eine realistische Leistung BizTalk Server dar, die ohne benutzerdefinierten Code und eine optimierte Umgebung erreicht werden kann. Mit zusätzlicher Hardware ist es möglich, dass eine noch höhere Leistung erzielt worden wäre. Kundenlösungen umfassen häufig benutzerdefinierte BizTalk-Artefakte, die zusätzliche Verarbeitungsanforderungen verursachen, wodurch die Ressourcennutzung erhöht und die Gesamtleistung verringert wird. Wenn Sie jedoch den empfehlungen folgen, die im gesamten Leitfaden beschrieben werden, insbesondere den Empfehlungen unter Optimieren BizTalk Server Anwendungen, können die Auswirkungen dieser Vorgehensweise minimiert werden.

Die Ergebnisse zeigen, dass das Hochskalieren der Anzahl von BizTalk Server Computern eine effektive Strategie für das horizontale Skalieren ist, wenn die MessageBox-SQL Server Computer kein Engpass ist. Nach einem bestimmten Punkt zeigen unsere Ergebnisse an, dass das Hinzufügen von BizTalk Server Computern zu einer ineffektiven Horizontalskalierungsmethode wird, da wir beobachtet haben, dass ein Konfliktpunkt in den freigegebenen Tabellen innerhalb der MessageBox-Datenbank aufgetreten ist, was zu einer Leistungsminderung führte. Um die Ergebnisse zu maximieren, die von einer BizTalk Server Gruppe mit einer einzelnen MessageBox-Datenbank abgerufen werden können, sollten Sie die unter Optimieren der Datenbankleistung beschriebenen Optimierungen anwenden. Insbesondere sollten Sie sicherstellen, dass ein schnelles Speichersubsystem für den SQL Server Speicher verwendet wird und dass die logischen Datenträger, die von SQL Server zum Speichern der MessageBox-Datenbankdateien verwendet werden, in kürzester Zeit reagieren. Ein häufig verwendeter Schwellenwert zum Messen der zulässigen Lese-/Schreibleistung beträgt 15 Millisekunden. In der Regel wird dies durch die Leistungsindikatoren Durchschn. Datenträgerseks/Lese und Durchschn. Datenträgersek/Schreibvorgänge gemessen, die unter dem Leistungsobjekt logischer Datenträger zu finden sind. Nachdem alle verfügbaren Optimierungen auf den SQL Server Computer angewendet wurden, der die MessageBox-Datenbank hostet, können zusätzliche MessageBox-Datenbanken hinzugefügt werden. Die gleichen Optimierungstechniken, die auf die primäre MessageBox-Datenbank angewendet wurden, sollten auch auf die sekundären Datenbanken angewendet werden. Es wird empfohlen, die Richtlinien unter Horizontales Hochskalieren der SQL Server ebene (https://go.microsoft.com/fwlink/?LinkID=158075) in der BizTalk Server-Dokumentation zu befolgen.

Um optimale Ergebnisse zu erzielen, muss der gesamte Hardware- und Softwarestapel von entsprechender Qualität sein und auch richtig konfiguriert sein. Zunächst sollte Hardware mit guter Qualität erworben werden, einschließlich, aber nicht beschränkt auf, Gigabit-Netzwerk, schneller Speicher (SAN oder 15-K lokale SQL-Datenträger) und moderne Computer, die über mehrere CPUs mit mehreren Kernen pro CPU verfügen. Der SQL Server Computer sollte nur für BizTalk Server Verarbeitung vorgesehen sein. Beim Ausführen eines einzelnen SQL Server Computers wird empfohlen, zwei SQL-Instanzen zu erstellen: eine für bizTalk MessageBox und eine für alle anderen Datenbanken. Dadurch können instance Einstellungen für eine optimale Leistung der MessageBox konfiguriert werden. Die unter Optimieren der Leistung empfohlenen Optimierungen sollten Schritt für Schritt in der folgenden Reihenfolge angewendet werden: Optimieren der Leistung des Betriebssystems, Optimieren der Netzwerkleistung, Datenbankoptimierungen vor der Konfiguration2, Datenbankoptimierungen nach der Konfiguration2 und Allgemeine BizTalk Server Optimierungen1. Das Erstellen dedizierter Dateigruppen für die MessageBox-Datenbank und deren Zuweisung über die SAN-LUNs hinweg, wie unter Optimieren von Dateigruppen für die Datenbanken2 beschrieben, kann abhängig von Ihrer SAN-Konfiguration und ihrem LUN-Layout zu einer erheblichen Leistungsverbesserung führen.

Um effektiv zu bestimmen, wie die BizTalk Server- oder SQL-Ebene skaliert werden soll, wird empfohlen, Auslastungstests mithilfe von Nachrichten durchzuführen, die die tatsächlichen Produktionsdaten annähern. Stellen Sie vor dem Skalieren der BizTalk Server-Ebene sicher, dass SQL Server nicht bereits ein Engpass ist, wie unter Überwachen SQL Server Leistung empfohlen. Wenn SQL Server kein Engpass ist und auf einem der BizTalk Server Computer CPU-Kapazität vorhanden ist, können Sie den Durchsatz möglicherweise verbessern, indem Sie Den Host instance Layout ändern. Es ist wichtig, vier oder fünf Key Performance Indicators (KPIs) festzulegen, die als allgemeine Vergleichspunkte für alle Testläufe verwendet werden. Nach diesem Rat können Sie schnell messen, ob eine bestimmte Änderung die Gesamtleistung der Lösung beeinträchtigt hat.

Wenden Sie vor dem Hochskalieren der SQL Server-Ebene alle Optimierungen unter Optimieren der Datenbankleistung an. Im Rahmen von Kundenleistungslaboren wurde beobachtet, dass die Datenträgerspeicherkonfiguration insbesondere für die MessageBox- und TempDb-Datenbanken eine Durchsatzverbesserung von über 30 Prozent ermöglichen kann. Bei der Skalierung auf mehrere MessageBox-Datenbanken wurden drei und vier MessageBox-Datenbanken verwendet, da das Hochskalieren von einer einzelnen MessageBox-Datenbank auf zwei MessageBox-Datenbanken nur geringe Leistungsvorteile hat. Weitere Informationen zum Horizontalen Hochskalieren der BizTalk Server MessageBox finden Sie unter Horizontales Hochskalieren der SQL Server ebene (https://go.microsoft.com/fwlink/?LinkID=158075) in der BizTalk Server-Dokumentation.

Implementierte Optimierungen

Dieser Abschnitt enthält eine Checkliste aller Optimierungen, die für die Labtestszenarien angewendet wurden.

Hinweis

Diese sollten in Übereinstimmung mit Ihren Change Management-Verfahren getestet werden, bevor sie in Ihrer Produktionsumgebung angewendet werden.

Die systematische, kontrollierte Anwendung der Optimierungen – durch Anwenden einer Reihe von Optimierungen und anschließendes Testen der Auswirkungen – führt zu einem maximalen Leistungsvorteil. Das Anwenden von Optimierungen ohne regelmäßiges Testen der Auswirkungen der Optimierungen kann tatsächlich zu einer Leistungsminderung der Lösung führen.

Checklisten für angewendete Optimierungen

Plattform- und Netzwerkoptimierungen

Optimization Referenz
BIOS: Konfigurieren Sie Einstellungen für die Leistung. Optimieren der Leistung des Betriebssystems
Deaktivieren Sie die Echtzeitüberprüfung für SQL Server Dateien. Optimieren der Leistung des Betriebssystems
Aktivieren Sie den Energiesparplan "High Performance" auf allen BizTalk Server- und SQL Server-Computern. Allgemeine Richtlinien zum Verbessern der Leistung des Betriebssystems
Deaktivieren Sie Antivirus auf allen BizTalk Server- und SQL Server-Computern. Allgemeine Richtlinien zum Verbessern der Leistung des Betriebssystems

SQL Server Optimierungen: Allgemein

Optimization Referenz
Legen Sie die NTFS-Dateizuordnungseinheit auf 64 KB fest. Datenbankoptimierungen vor der Konfiguration2
Installieren Sie SQL Server 2008 R2. Datenbankoptimierungen vor der Konfiguration2
Konfigurieren Sie SQL Server 2008 R2 Data Collector/Warehouse. Datenbankoptimierungen vor der Konfiguration2
Stellen Sie sicher, dass die entsprechenden Windows-Berechtigungen auf die SQL Server-Dienstkonten erweitert wurden. SQL Server 2008 R2: Einrichten von Windows-Dienstkonten (https://go.microsoft.com/fwlink/?LinkID=132144)
Legen Sie minimalen und maximalen Serverarbeitsspeicher für SQL Server fest. Datenbankoptimierungen vor der Konfiguration2
Gewähren Sie dem Konto, das für SQL Server verwendet wird, die Berechtigung Windows Lock Pages In Memory. Datenbankoptimierungen vor der Konfiguration2
Vorabgröße BizTalk Server Datenbanken auf die entsprechende Größe mit mehreren Datendateien. Datenbankoptimierungen nach der Konfiguration2
Konfigurieren Sie SQL Server Clientprotokolle. Problembehandlung bei SQL Server (https://go.microsoft.com/fwlink/?LinkID=154250)
Aufteilen der tempdb-Datenbank in mehrere Datendateien gleicher Größe auf jeder SQL Server instance, die von BizTalk Server Datenbankoptimierungen vor der Konfiguration2
Manuelles Festlegen SQL Server Prozessaffinität Datenbankoptimierungen vor der Konfiguration2
Konfigurieren von MSDTC und Deaktivieren der DTC-Ablaufverfolgung Datenbankoptimierungen vor der Konfiguration2
Aktivieren Sie das Ablaufverfolgungsflag T1118 als Startparameter für alle Instanzen von SQL Server Datenbankoptimierungen vor der Konfiguration2

SQL Server Optimierungen: BizTalk-Datenbanken

Optimization Referenz
Legen Sie die automatische Vergrößerung von BizTalk-Datenbanken auf einen festen Wert und nicht auf einen Prozentwert fest. Datenbankoptimierungen nach der Konfiguration2
Verschieben/Teilen von BizTalk-Datenbankdaten und -Protokolldateien in separate LUNS Datenbankoptimierungen nach der Konfiguration2
Erwägen Sie das Festlegen der Tabellenoption "Text in Zeile" für bestimmte MessageBox-Datenbanktabellen. Datenbankoptimierungen nach der Konfiguration2

BizTalk-Optimierungen

Optimization Referenz
Separate Empfangsports, Sendeports, Orchestrierungen und Nachverfolgung auf separaten dedizierten Hosts. Allgemeine BizTalk Server Optimierungen1
Konfigurieren sie Abrufintervalle. Szenariooptimierungen mit geringer Latenz2
Passen Sie die maximale Verbindungseigenschaft der BizTalk-Konfigurationsdatei an. "Erhöhen der Anzahl gleichzeitiger SOAP- und HTTP-Verbindungen durch Ändern des Werts für den maxconnection-Parameter" im Abschnitt Allgemeine BizTalk Server Optimierungen1
Definieren Sie CLR-Hostingparameter für jeden Host instance auf jedem BizTalk Server Knoten:

Maximale E/A-Threads: 250

Maximale Anzahl von Workerthreads: 100

Mindestanzahl von E/A-Threads: 25

Mindestarbeitsthreads: 25
Abschnitt "Definieren von CLR-Hostingthreadwerten für BizTalk-Hostinstanzen" im Abschnitt Allgemeine BizTalk Server Optimierungen1
Erhöhen Sie prozessinterne Nachrichten und die Interne Nachrichtenwarteschlangengröße auf 10000. Szenariooptimierungen mit geringer Latenz2
Deaktivieren Sie BizTalk Server Nachverfolgung auf Gruppenebene. Allgemeine BizTalk Server Optimierungen1
Verwalten der Anzahl gleichzeitig ausgeführter Anforderungen für ASP.NET 4 Webanwendungen, die isolierte empfangene Standorte, Back-End-Webdienste und WCF-Dienste unter IIS 7.5 und IIS 7.0 hosten können, die im integrierten Modus ausgeführt werden Allgemeine BizTalk Server Optimierungen1
Deaktivieren BizTalk Server Hostdrosselung Allgemeine BizTalk Server Optimierungen1
Konfigurieren von MSDTC und Deaktivieren der DTC-Ablaufverfolgung Allgemeine BizTalk Server Optimierungen1

WCF-Konfigurationsoptimierungen

Optimization Referenz
Wenden Sie für jeden WCF-Dienst das Dienstverhalten serviceThrottling an, und legen Sie maxConcurrentCalls und maxConcurrentSessions auf 200 fest. Optimieren der Leistung von WCF-Adaptern von BizTalk Server
Konfigurieren Sie die Verwendung des Dienstdrosselungsverhaltens in der Back-End-WCF-Dienstkonfigurationsdatei. Optimieren der Leistung eines WCF-Webdienstes

Weitere Informationen

Skalieren einer BizTalk Server-Produktionsumgebung