Performances

Cette rubrique vous aide à maximiser le niveau de performance lors de l'utilisation du fournisseur de données.

Configuration pour optimiser le niveau de performance

Pour améliorer les performances, vous devez configurer les fournisseurs des façons suivantes.

Regrouper les ressources OLE DB pour réduire le temps de démarrage de la connexion

En regroupant les ressources OLE DB et les connexions du fournisseur, vous pouvez augmenter le niveau de performance en réduisant le temps de démarrage de la connexion. Le regroupement des ressources est activé via les composants du service OLE DB qui font partie du système d'exploitation Windows. Vous pouvez activer le regroupement des ressources OLE DB en définissant les propriétés d'initialisation d'OLE DB et les paramètres du Registre. Pour plus d'informations, consultez la rubrique OLE DB Resource Pooling (https://go.microsoft.com/fwlink/?LinkID=180446) (en anglais).

Regrouper les ressources du fournisseur pour réduire le temps de démarrage de la connexion

Le regroupement des connexions est une optimisation côté client qui permet de réduire le temps de démarrage de la connexion tout en réduisant l'utilisation de la mémoire sur l'ordinateur client. Le fournisseur ADO.NET, le fournisseur OLE DB, le fournisseur d'entités et l'adaptateur BizTalk prennent en charge le regroupement des connexions. Vous pouvez activer le regroupement à l'aide de la chaîne de connexion ADO.NET ou la chaîne d'initialisation de la source de données OLE DB (Connection Pooling=True). En outre, vous pouvez configurer le regroupement à l'aide de la boîte de dialogue Avancé de l'Assistant Source de données et à l'aide de l'onglet Toutes de la boîte de dialogue Liaisons de données.

Le fournisseur gère un cache de connexions sur la base d'une propriété Taille de pool max. La taille du regroupement par défaut est de 100 connexions (Max Pool Size=100) ; vous pouvez toutefois ajuster cette valeur à l'aide de la boîte de dialogue Toutes de l'Assistant Source de données ou des liaisons de données. Il n'y a aucune limite supérieure pour la propriété Taille de pool max. Si vous configurez une valeur inférieure à 0 pour la propriété Taille de pool max, la valeur par défaut 100 est utilisée. À titre facultatif, vous pouvez spécifier un nombre de secondes afin d'indiquer au fournisseur de données d'attendre pour établir des connexions à l'aide du regroupement côté client. Lorsque toutes les connexions d'un regroupement sont en cours d'utilisation et que le délai de connexion expire, le fournisseur de données renvoie une erreur au consommateur de données (« Connexion non disponible »). La valeur par défaut est de 15 secondes (Connect Timeout=15) ; vous pouvez toutefois ajuster cette valeur à l'aide de la boîte de dialogue Toutes de l'Assistant Source de données ou des liaisons de données. Il n'y a aucune limite supérieure pour la propriété Connect Timeout. Spécifiez -1 afin d'indiquer au fournisseur de données d'attendre indéfiniment pour une connexion ouverte dans le regroupement de connexions côté client.

Optimiser le cache d'ensemble de lignes lors de l'obtention des données

La propriété RowSetCacheSize indique au fournisseur de données de prérécupérer des lignes depuis DB2 tout en traitant les lignes et en les retournant au consommateur de données. Cette fonctionnalité peut améliorer les performances des opérations de lecture seule en bloc sur les ordinateurs multiprocesseurs ou multicœurs. La valeur par défaut de cette propriété est 0 (RowsetCacheSize=0) ; cela indique que la fonctionnalité de prérécupération est désactivée. Il est conseillé de définir une valeur comprise entre 10 et 100, avec une valeur initiale recommandée de 10 ; vous pouvez toutefois ajuster cette valeur dans la boîte de dialogue Toutes de l'Assistant Source de données ou des liaisons de données. Cette propriété indique au fournisseur de données de prérécupérer le nombre spécifié de lots de lignes stockés dans le cache d'ensemble de lignes du fournisseur de données. La taille des lots de lignes est déterminée automatiquement en fonction de la valeur de cRows dans l'interface IRowset::GetNextRows OLE DB spécifiée par le consommateur.

Différer la préparation des commandes avec des paramètres jusqu'à l'exécution

La préparation différée indique au fournisseur de données d'optimiser le traitement des commandes INSERT, UPDATE, DELETE et SELECT paramétrables. Vous pouvez activer cette option à l'aide de la chaîne de connexion ADO.NET ou la chaîne d'initialisation de la source de données OLE DB (Defer Prepare=True). En outre, vous pouvez configurer le regroupement à l'aide de la boîte de dialogue Avancé de l'Assistant Source de données et à l'aide de l'onglet Toutes de la boîte de dialogue Liaisons de données. Pour les commandes INSERT, UPDATE et DELETE, le fournisseur de données combine des commandes PREPARE, EXECUTE et COMMIT en un seul flux réseau vers la base de données distante. Pour la commande SELECT, le fournisseur de données combine des commandes PREPARE et EXECUTE en un seul flux réseau. Cela réduit le trafic réseau et améliore souvent les performances globales.

Récupération des informations de schéma à partir d'un catalogue temporaire DB2

La propriété Catalogue temporaire indique au fournisseur de données de récupérer les informations de schéma à partir d'un catalogue temporaire DB2. L'administrateur DB2 peut définir un catalogue temporaire afin qu'il contienne les informations de schéma pour les tables, colonnes, clés primaires et index. Tous les consommateurs de données utilisent ces informations de schéma au moment de la conception. Certains consommateurs de données les utilisent au moment de l'exécution. Le catalogue de schéma DB2 peut devenir inaccessible en raison de verrous lors des écritures (exécution des instructions create et alter). Par ailleurs, le schéma DB2 par défaut peut être volumineux, ce qui ajoute de la latence aux opérations des consommateurs de données au moment de la conception et de l'exécution. Un catalogue temporaire peut réduire le niveau de contention et améliorer les performances dans le cadre de l'exécution des opérations de récupération du schéma.

Envoyer plusieurs lignes dans une unité de travail unique

Le fournisseur de données prend en charge l'interface OLE DB IRowsetFastLoad pour permettre aux consommateurs, tels qu'Integration Services, d'exécuter plusieurs instructions INSERT, UPDATE, DELETE ou CALL dans des lots optimisés. Cela permet d'utiliser judicieusement les paquets réseau TCP/IP et d'augmenter les performances globales. Vous pouvez sélectionner l'interface RowsetFastLoad lors de la configuration des destinations OLE DB dans les flux de données des packages Integration Services à l'aide du concepteur de packages de Business Intelligence Developer Studio. L'interface IRowsetFastLoad est prise en charge lors de l'insertion, de la mise à jour ou de la suppression de lignes dans DB2 pour z/OS V8 et V9, DB2 pour i5/OS V5R4 et V6R1, et DB2 pour LUW V9. Pour plus d'informations, consultez les informations relatives au mode d'accès pour Integration Services OLE DB dans la section Destination OLE DB, propriétés personnalisées (https://go.microsoft.com/fwlink/?LinkId=241518).

Paramétrer le délai de commande pour arrêter les requêtes longues

Le fournisseur de données inclut une propriété de délai de commande qui vous permet d'arrêter automatiquement les requêtes longues qui peuvent réduire les performances. La valeur par défaut de la propriété OLE DB d'ensemble de lignes DBPROP_COMMANDTIMEOUT est 0, c'est-à-dire aucun délai d'expiration.

Vous pouvez spécifier la valeur du délai de commande à partir de plusieurs consommateurs. Le fournisseur de données inclut une propriété OLE DB d'ensemble de lignes DBPROP_COMMANDTIMEOUT qui permet aux développeurs d'arrêter automatiquement les requêtes longues qui peuvent réduire les performances. Integration Services et Analysis Services exposent cette propriété via l'option de délai de requête de source de données dans Business Intelligence Development Studio. Reporting Services expose cette propriété via l'option de délai des propriétés Dataset dans Business Intelligence Development Studio. La réplication et le processeur de requêtes exposent cette propriété via « sp_serveroption, @optname=query time-out ».

Mesure du niveau de performances

Le fournisseur de données inclut des compteurs pour mesurer le niveau des performances. Par défaut, les compteurs de performances sont désactivés. Ils peuvent être activés en attribuant la valeur 1 à la clé de Registre suivante :

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

Les compteurs de performances du fournisseur de données capturent les informations relatives aux connexions ouvertes, aux instructions ouvertes, aux paquets et aux octets envoyés/reçus, au temps moyen de traitement de l'hôte (serveur DB2), aux exécutions des commandes, aux extractions des données et aux validations/restaurations des transactions. Pour plus d'informations, consultez la rubrique Performance Counters (https://go.microsoft.com/fwlink/?LinkID=119211) (en anglais).