Leistung

In diesem Thema wird die Maximierung der Leistung bei Verwendung des Datenanbieters erläutert.

Konfigurieren der Leistung

Konfigurieren Sie die Anbieter auf die folgende Weise, um die Leistung zu verbessern.

Pooling von OLE DB-Ressourcen, um die Dauer des Verbindungsstarts zu verkürzen

Durch das OLE DB-Ressourcenpooling und das Anbieterverbindungspooling kann die Leistung gesteigert werden, indem die Dauer des Verbindungsstarts verkürzt wird. Das Ressourcenpooling wird durch die OLE DB-Dienstkomponenten aktiviert, die Teil des Betriebssystems Windows sind. Sie können das OLE DB-Ressourcenpooling durch Festlegen von OLE DB-Initialisierungseigenschaften und Registrierungseinstellungen aktivieren. Weitere Informationen finden Sie unter OLE DB-Ressourcenpooling (https://go.microsoft.com/fwlink/?LinkID=180446).

Pooling von Anbieterressourcen, um die Dauer des Verbindungsstarts zu verkürzen

Verbindungspooling ist eine clientseitige Optimierung, die die Dauer des Verbindungsstarts verkürzt und die Arbeitsspeicherauslastung auf dem Clientcomputer verringert. Der ADO.NET-Anbieter, der OLE DB-Anbieter, der Entitätsanbieter und BizTalk Adapter unterstützen Verbindungspooling. Sie können Pooling mithilfe der ADO.NET-Verbindungszeichenfolge oder der OLE DB-Datenquellen-Initialisierungszeichenfolge (Connection Pooling=True) angeben. Sie können Pooling auch mithilfe des Dialogfelds Erweitert des Datenquellen-Assistenten oder auf der Registerkarte Alle im Dialogfeld Datenverknüpfungen konfigurieren.

Der Anbieter verwaltet basierend auf der Eigenschaft Max. Poolgröße einen Verbindungscache. Die Standardpoolgröße umfasst 100 Verbindungen (Max Pool Size=100). Sie können diesen Wert mithilfe des Dialogfelds Alle des Datenquellen-Assistenten oder des Dialogfelds Datenverknüpfungen anpassen. Es gibt keine Obergrenze für die Eigenschaft Max. Poolgröße. Wenn Sie für die Eigenschaft Max. Poolgröße einen kleineren Wert als 0 konfigurieren, wird der Standardwert 100 verwendet. Optional können Sie die Anzahl von Sekunden angeben, die der Datenanbieter warten soll, bis mithilfe von clientseitigem Pooling Verbindungen hergestellt werden. Wenn alle Verbindungen in einem Pool in Gebrauch sind und der Timeoutzeitraum abläuft, gibt der Datenanbieter einen Fehler ("Die Verbindung ist nicht verfügbar") an den Datenconsumer zurück. Der Standardwert ist 15 Sekunden (Connect Timeout=15). Sie können diesen Wert mithilfe des Dialogfelds Alle des Datenquellen-Assistenten oder des Dialogfelds Datenverknüpfungen anpassen. Es gibt keine Obergrenze für die Eigenschaft Verbindungstimeout. Geben Sie -1 an, um den Datenanbieter anzuweisen, unbegrenzt lange auf eine offene Verbindung im clientseitigen Verbindungspool zu warten.

Optimieren des Rowsetcaches beim Abrufen von Daten

Die Eigenschaft RowSetCacheSize weist den Datenanbieter an, Zeilen von DB2 vorab abzurufen, während gleichzeitig Zeilen verarbeitet und an den Datenconsumer zurückgegeben werden. Diese Funktion kann die Leistung in schreibgeschützten Massenoperationen auf Computern mit mehreren Prozessoren bzw. Kernen verbessern. Der Standardwert für diese Eigenschaft ist 0 (RowsetCacheSize=0). Die optionale Vorabruffunktion ist somit "deaktiviert". Es wird empfohlen, einen Wert zwischen 10 und 100 mit einem empfohlenen Anfangswert von 10 festzulegen. Sie können diesen Wert mithilfe des Dialogfelds Alle des Datenquellen-Assistenten oder des Dialogfelds Datenverknüpfungen anpassen. Auf diese Weise wird der Datenanbieter angewiesen, die angegebene Anzahl von Tabellenzeilen vorab abzurufen, die im Rowsetcache des Datenanbieters gespeichert werden. Die Größe der Tabellenzeilen wird automatisch basierend auf dem Wert für cRows in der vom Consumer festgelegten OLE DB-Schnittstelle IRowset::GetNextRows bestimmt.

Die Vorbereitung von Befehlen mithilfe von Parametern bis zur Ausführung zurückstellen

Die Eigenschaft Defer Prepare (Vorbereitung zurückstellen) weist den Datenanbieter an, die Verarbeitung von parametrisierten INSERT-, UPDATE-, DELETE- und SELECT-Befehlen zu optimieren. Sie können diese Option mithilfe der ADO.NET-Verbindungszeichenfolge oder der OLE DB-Datenquellen-Initialisierungszeichenfolge (Defer Prepare=True) angeben. Sie können Pooling auch mithilfe des Dialogfelds Erweitert des Datenquellen-Assistenten oder auf der Registerkarte Alle im Dialogfeld Datenverknüpfungen konfigurieren. Für die INSERT-, UPDATE- und DELETE-Befehle fasst der Datenanbieter Vorbereitungs- und Ausführungsbefehle sowie Befehle zum Ausführen von Commits in einem Netzwerkdatenstrom für die Remotedatenbank zusammen. Für die SELECT-Anweisung fasst der Datenanbieter Vorbereitungs- und Ausführungsbefehle in einem Netzwerkdatenstrom zusammen. Auf diese Weise wird der Netzwerkverkehr minimiert und häufig die Gesamtleistung verbessert.

Abrufen von Schemainformationen aus dem DB2-Schattenkatalog

Die Eigenschaft Schattenkatalog weist den Datenanbieter an, Schemainformationen aus einem DB2-Schattenkatalog abzurufen. Der DB2-Administrator kann einen Schattenkatalog definieren, der Schemainformationen für Tabellen, Spalten, Primärschlüssel und Indizes enthält. Alle Datenconsumer verwenden diese Schemainformationen zur Entwurfszeit. Einige Datenconsumer verwenden diese Informationen zur Laufzeit. Auf den DB2-Schemakatalog kann aufgrund von Sperren während Schreibvorgängen (Ausführung von CREATE- und ALTER-Anweisungen) ggf. nicht mehr zugegriffen werden. Außerdem kann das DB2-Standardschema groß sein und zu Wartezeiten bei Datenconsumervorgängen zur Entwurfs- und zur Laufzeit führen. Ein Schattenkatalog kann Konflikte verringern und die Leistung verbessern, wenn Schemaabrufvorgänge ausgeführt werden.

Senden mehrerer Zeilen in einer einzelnen Arbeitseinheit

Der Datenanbieter unterstützt die OLE DB-Schnittstelle IRowsetFastLoad, um Consumern (z. B. Integration Services) das Ausführen mehrerer INSERT-, UPDATE-, DELETE- oder CALL-Anweisungen in optimierten Batches zu ermöglichen. Dies hat eine bessere Verwendung von TCP/IP-Netzwerkpaketen und eine Verbesserung der Gesamtleistung zur Folge. Sie wählen RowsetFastLoad aus, wenn Sie OLE DB-Ziele in Datenflüssen in Integration Services-Paketen mithilfe des Business Intelligence Developer-Paket-Designers konfigurieren. Die IRowsetFastLoad-Schnittstelle wird beim Einfügen, Aktualisieren oder Löschen von Zeilen in DB2 für z/OS V8 und V9, DB2 für i5/OS V5R4 und V6R1 sowie DB2 für LUW V9 unterstützt. Weitere Informationen finden Sie im Abschnitt AccessMode für Integration Services OLE DB unter Benutzerdefinierte Eigenschaften des OLE DB-Ziels (https://go.microsoft.com/fwlink/?LinkID=241518).

Festlegen eines Timeouts, um Abfragen mit langer Ausführungszeit zu beenden

Der Datenanbieter bietet eine Eigenschaft für einen Befehlstimeout, damit Sie Abfragen mit langer Ausführungszeit automatische beenden können, die sich ggf. negativ auf die Leistung auswirken. Der Standardwert für das OLE DB-Rowset DBPROP_COMMANDTIMEOUT ist 0. Dies bedeutet, dass kein Timeout auftritt.

Sie können den Wert für den Befehlstimeout von einer Vielzahl von Consumern angeben. Der Datenanbieter bietet eine DBPROP_COMMANDTIMEOUT-Eigenschaft für OLE DB-Rowsets, um Entwicklern das automatische Beenden von Abfragen mit langer Ausführungszeit zu ermöglichen, da diese sich ggf. negativ auf die Leistung auswirken. Integration Services und Analysis Services stellen diese Eigenschaft in Business Intelligence Development Studio mithilfe der Option Data Source Query Timeout bereit. Reporting Services stellt diese Eigenschaft in Business Intelligence Development Studio mithilfe der Option Dataset Properties Timeout bereit. Replication Services und Query Processor stellen diese Eigenschaft mithilfe von sp_serveroption, @optname=query time-out bereit.

Messen der Leistung

Der Datenanbieter stellt Leistungsindikatoren zum Messen der Leistung bereit. Standardmäßig sind die Leistungsindikatoren deaktiviert. Sie können aktiviert werden, indem der folgende Registrierungsschlüssel auf den Wert 1 festgelegt wird:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1

Die Leistungsindikatoren des Datenanbieters zeichnen Informationen zu offenen Verbindungen, offenen Anweisungen, gesendeten und empfangenen Paketen und Bytes, der durchschnittlichen Verarbeitungszeit des Hosts (DB2-Server), Befehlsausführungen, Datenabrufen und Commits/Rollbacks von Transaktionen auf. Weitere Informationen finden Sie unter Leistungsindikatoren (https://go.microsoft.com/fwlink/?LinkID=119211).