Optimisation des performances dans Informatica : didacticiel complet
โก Rรฉsumรฉ intelligent
L'optimisation des performances dans Informatica supprime le maillon le plus lent d'une session, couche par couche, en partant de la cible et en remontant vers la source, la carte.ping, la session et enfin le systรจme d'exploitation.

Qu'est-ce que l'optimisation des performances dans Informatica ?
L'optimisation des performances dans Informatica consiste ร identifier le composant qui ralentit l'exรฉcution d'une session, ร supprimer ce facteur limitant, puis ร rรฉpรฉter l'opรฉration avec le composant qui devient ensuite le plus lent. La vitesse d'une session รฉtant toujours limitรฉe par son composant le plus lent, optimiser une transformation qui n'a jamais รฉtรฉ la cause du problรจme n'apporte aucun gain mesurable.
Informatica identifie cinq points oรน un goulot d'รฉtranglement peut se situer et recommande de les vรฉrifier dans un ordre prรฉcis.
| Commande | Couche | Cause typique |
| 1 | Target | รcritures lentes, intervalles de points de contrรดle courts, taille rรฉduite des paquets rรฉseau de la base de donnรฉes |
| 2 | Matรฉriau | Requรชte lente, index manquants, lecture de colonnes inutiles |
| 3 | Carteping | Transformations coรปteuses ou mal placรฉes, caches surdimensionnรฉes |
| 4 | Session | Buffer mรฉmoire, intervalle de validation, partitionnement, type de chargement |
| 5 | Systรจme | Saturation du processeur, attentes d'E/S, pagination sur la machine du service d'intรฉgration |
L'ordre est dรฉlibรฉrรฉ. โโUne cible incapable d'absorber les lignes assez rapidement ralentira toutes les couches en amont ; elle est donc vรฉrifiรฉe en premier. La mรฉthode complรจte est documentรฉe dans leโฆ Guide de rรฉglage des performances PowerCenter.
Comment identifier les goulots d'รฉtranglement en matiรจre de performance
Deviner quelle couche est lente fait perdre plus de temps que de la mesurer. Quatre techniques permettent de traiter les cinq couches mentionnรฉes ci-dessus.
- Lancez une session de test. Configurez une copie de Session Pour รฉcrire dans un fichier plat, si la vitesse de la session augmente sensiblement, le goulot d'รฉtranglement se situe au niveau du fichier cible. L'opรฉration inverse, consistant ร lire depuis un fichier plat, permet d'isoler le goulot d'รฉtranglement au niveau de la source.
- Analyser les statistiques du fil de discussion. Le gestionnaire de transformation des donnรฉes exรฉcute un thread de lecture, un ou plusieurs threads de transformation et un thread d'รฉcriture. Le thread prรฉsentant le temps d'activitรฉ le plus รฉlevรฉ dans le journal de session pointe directement vers la couche ร traiter : le thread de lecture pour la source, le thread de transformation pour la carte.ping, รฉcrivain pour la cible.
- Analyser les dรฉtails de performance. Activez la collecte des donnรฉes de performance sur la session et consultez les compteurs. Un nombre รฉlevรฉ de lignes d'erreur ou un grand nombre de lignes dans un cache de recherche indiquent un problรจme de mappage.ping Un problรจme plutรดt qu'un problรจme de base de donnรฉes.
- Surveillez le systรจme. OperaLes outils systรจme affichant l'utilisation du processeur, les temps d'attente d'E/S et la pagination, ainsi que les Surveillance des flux de travail Les vues des ressources rรฉvรจlent une machine tout simplement saturรฉe.
Une fois la couche responsable identifiรฉe, les conseils relatifs ร la transformation prรฉsentรฉs dans les sections suivantes deviennent pertinents. Ces sections sont organisรฉes selon l'ordre du pipeline, ร partir du point d'entrรฉe des donnรฉes. planping au point oรน il est agrรฉgรฉ.
Transformation de qualificateur de source
Chaque ligne non lue par le qualificateur de source est une ligne qu'aucune autre transformation n'a ร traiter, ce qui en fait l'endroit le moins coรปteux de toute la carte.ping gagner du temps.
- Apportez uniquement les colonnes requises de la source. La plupart du temps, toutes les colonnes de la table source ne sont pas obligatoires, apportez donc uniquement les champs obligatoires en supprimant les colonnes inutiles.
- รvitez d'utiliser la clause ORDER BY ร l'intรฉrieur de la clause ORDER BY. Qualificatif de source Surcharge de la requรชte SQL. La clause ORDER BY nรฉcessite un traitement supplรฉmentaire ; les performances peuvent รชtre amรฉliorรฉes en l'รฉvitant.
Transformation de filtre
Le filtrage suit le mรชme principe une รฉtape plus loin dans le pipeline : supprimer les lignes indรฉsirables dรจs que possible.ping possรจde suffisamment d'informations pour les identifier.
- Utilisez le transformation de filtre le plus tรดt possible ร l'intรฉrieur de la cartepingSi les donnรฉes indรฉsirables peuvent รชtre รฉliminรฉes dรจs le dรฉbut de la carteping, cela augmenterait le dรฉbit.
- Utilisez un qualificateur de source pour filtrer les donnรฉes. Vous pouvez รฉgalement utiliser une substitution SQL du qualificateur de source pour filtrer les enregistrements, au lieu d'utiliser une transformation de filtre.
Transformation de menuisier
L'adhรฉsion est la premiรจre opรฉration vรฉritablement coรปteuse dans une carte typiqueping, car la source principale doit รชtre mise en cache avant que les lignes de dรฉtail puissent y รชtre comparรฉes.
- Il est toujours prรฉfรฉrable d'effectuer les jointures directement dans la base de donnรฉes, car elles sont plus rapides que celles crรฉรฉes dans Informatica. transformation de menuisier.
- Triez les donnรฉes avant de joindre si possible, car cela diminue les E/S de disque effectuรฉes lors de la jointure.
- Choisissez comme table principale la table comportant le moins de lignes.
Le troisiรจme point est celui qui est le plus souvent nรฉgligรฉ. Le service d'intรฉgration met en cache la source principale ; par consรฉquent, dรฉsigner la table plus petite comme table principale permet de limiter la taille de ce cache.
Transformation de recherche
Une recherche interroge soit la base de donnรฉes une fois par ligne, soit construit un cache en mรฉmoire, et les deux mรฉthodes permettent d'obtenir une source de recherche plus petite et mieux indexรฉe.
- Crรฉez un index pour la colonne dans un table de correspondance Cette condition est utilisรฉe pour la recherche. รtant donnรฉ que la table de recherche sera interrogรฉe pour trouver les donnรฉes correspondantes, l'ajout d'un index amรฉliorerait les performances.
- Si possible, au lieu d'utiliser la transformation de recherche, utilisez la jointure dans la base de donnรฉes. Comme les jointures de bases de donnรฉes sont plus rapides, les performances seront augmentรฉes.
- Supprimez les colonnes inutiles de la table de recherche et conservez uniquement les colonnes requises. Cela rรฉduira la surcharge liรฉe ร la rรฉcupรฉration des colonnes supplรฉmentaires de la base de donnรฉes.
Transformation Agrรฉgation
An Aggregator Elle stocke les donnรฉes dans un cache tout en regroupant les lignes ; par consรฉquent, tout ce qui rรฉduit le volume de donnรฉes qui lui parviennent rรฉduit la taille du cache dont elle a besoin.
- Filtrez les donnรฉes avant de les agrรฉger. Si vous utilisez une transformation de filtre dans la carteping, filtrez ensuite les donnรฉes avant d'utiliser l'agrรฉgateur, car cela rรฉduira les opรฉrations d'agrรฉgation inutiles.
- Limitez le nombre de ports utilisรฉs dans la transformation d'agrรฉgation. Cela rรฉduira le volume de donnรฉes stockรฉes dans le cache par cette transformation.
Rรฉglage au niveau de la session dans Informatica
Lorsque la carteping Le systรจme en lui-mรชme est propre ; les gains restants proviennent des propriรฉtรฉs de la session. Il est conseillรฉ de modifier ces paramรจtres un par un, en effectuant un test chronomรฉtrรฉ aprรจs chaque modification, car plusieurs d'entre eux privilรฉgient la vitesse ร la mรฉmoire.
| Paramรจtres | Ce qu'il contrรดle | Quand le changer |
| Taille du tampon DTM | Mรฉmoire totale allouรฉe par le service d'intรฉgration aux blocs de donnรฉes source et cible | Augmentez cette valeur lorsque la session gรจre de nombreuses partitions, sources ou cibles. |
| Buffer taille de bloc | Taille d'un bloc de mรฉmoire individuel | Augmenter la valeur pour les lignes exceptionnellement longues ; diminuer la valeur lorsque la mรฉmoire physique est limitรฉe. |
| Intervalle d'engagement | Combien de lignes sont รฉcrites avant qu'un commit ne soit รฉmis ? | Augmentez ce seuil lorsque le thread d'รฉcriture passe son temps ร attendre les points de contrรดle de la base de donnรฉes. |
| Optimisation par poussรฉe | Quelle portion de la carteping La logique est convertie en SQL et exรฉcutรฉe par la base de donnรฉes. | ร utiliser lorsque la source et la cible se trouvent sur la mรชme base de donnรฉes puissante. |
Buffer La mรฉmoire est allouรฉe selon un calcul prรฉcis et documentรฉ, et non par estimation. Le service d'intรฉgration alloue au moins deux blocs pour chaque partition source et cible. Le nombre de blocs de mรฉmoire tampon de session est donc รฉgal ร (nombre total de sources + nombre total de cibles) multipliรฉ par deux, et la taille de la mรฉmoire tampon DTM est รฉgale ร ce nombre de blocs multipliรฉ par la taille d'un bloc de mรฉmoire tampon et divisรฉ par 0.9.
L'optimisation pushdown mรฉrite d'รชtre abordรฉe avec prudence. Elle n'est utile que lorsque la base de donnรฉes est rรฉellement plus rapide que le serveur d'intรฉgration et que la logique de transformation peut รชtre exprimรฉe en SQLLes รฉlรฉments logiques non traduisibles restent dans la session, ce qui explique que le gain soit souvent infรฉrieur aux attentes. Il est prรฉfรฉrable de mesurer avant et aprรจs l'activation plutรดt que de l'activer par dรฉfaut.
