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, configurez les fournisseurs en suivant les instructions indiquées ci-dessous.
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 Regroupement de ressources OLE DB (https://go.microsoft.com/fwlink/?LinkID=180446).
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 de données prend en charge le regroupement de connexions. Vous pouvez spécifier le regroupement avec la chaîne d’initialisation de la source de données OLE DB (Connection Pooling=True). De plus, vous pouvez configurer le regroupement à partir de la boîte de dialogue Avancé dans l’Assistant Source de données et à partir de la boîte de dialogue Toutes de 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 l’ajuster dans la boîte de dialogue Tout de l’Assistant Source de données ou de 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 l’ajuster dans la boîte de dialogue Tout de l’Assistant Source de données ou de Liaisons de données. Il n'y a aucune limite supérieure pour la propriété Connect Timeout. Spécifiez la valeur -1 pour indiquer au fournisseur de données d’attendre indéfiniment une connexion ouverte dans le pool 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), ce qui indique que la fonctionnalité facultative 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 changer cette valeur dans la boîte de dialogue Toutes de l’Assistant Source de données ou de 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 spécifier cette option avec la chaîne de connexion ADO.NET ou la chaîne d’initialisation de la source de données OLE DB (Defer Prepare=True). De plus, vous pouvez configurer le regroupement à partir de la boîte de dialogue Avancé dans l’Assistant Source de données et à partir de la boîte de dialogue Toutes de 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 (par exemple Integration Services) d’exécuter plusieurs instructions INSERT 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 dans DB2. Pour plus d’informations, consultez Access Mode for Integration Services OLE DB Destination Custom Properties (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 le sp_serveroption, @optname=query délai d’attente.
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 Compteurs de performances (https://go.microsoft.com/fwlink/?LinkID=119211).