Pagination et utilisation des entrées-sorties
La pagination permet de contrôler la quantité de données disponible à un moment donné pour la partie transformation d'une exécution de mappe. Si une règle de mappage nécessite une portion de données non contenue en mémoire, le sous-système de pagination recherche les données appropriées sur le disque. Cette opération a un impact sur les données contenues en mémoire ; en effet, si aucune page inutilisée n'est présente, une page existante est éliminée de la mémoire.
Dans les situations où une grande quantité informations provenant de différentes sources est requise, l'augmentation du nombre et de la taille des pages disponibles pour le système permet de réduire le volume d'entrée-sortie. L'augmentation de la fenêtre d'information permet à la mappe de traiter davantage d'informations, sans nécessiter le chargement de pages depuis le disque.
La pagination de portions de fichiers de données permet de traiter une transformation volumineuse en sollicitant une moindre quantité de mémoire. Le choix de paramètres de messagerie de pagination appropriés permet d'améliorer considérablement les performances.
Les activités de pagination suivantes influent sur les performances :
- Utilisation du paramètre de pagination WorkSpace
- Configuration des fenêtres d'information
- Connaissance de la taille des données d'entrée
Utilisation du paramètre de pagination WorkSpace
Dans de nombreuses mappes, les paramètres de pagination sont définis explicitement dans les mappes elles-mêmes durant la phase de conception. Si le concepteur d'une mappe ne paramètre pas explicitement la pagination, une taille de page de 64 Ko et un nombre de pages de 8 Ko sont pris en compte comme paramètres par défaut de la mappe. La définition de valeurs de taille et de nombre de pages optimales dépend en dernier lieu de l'espace de travail disponible. Du fait que les exigences de l'espace de travail ne sont pas encore disponibles au début de l'exécution, l'estimation de la taille et du nombre de pages ne permet pas toujours d'obtenir un temps d'exécution optimal. Dans une telle situation, ou lorsque les paramètres de pagination d'une mappe sont supérieurs à la valeur optimale, la modification des paramètres de pagination au moment de l'exécution est susceptible d'améliorer les performances.
La méthode principale permettant de modifier le processus de pagination au moment de l'exécution de Command repose sur utilise la commande WorkSpace PageSize (-P). La commande (-P) permet de spécifier la taille et le nombre de pages pour une transformation. Le nombre de pages détermine le nombre total de pages disponibles sur le système, à la fois pour les fichiers de données et les fichiers de travail. La moitié des pages demandées est allouée à l'utilisation de chaque page. La taille de page fixe l'espace de stockage total disponible pour chaque page. Ensemble, ces deux paramètres contrôlent directement la quantité d'informations disponibles à un moment donné, sous forme de fenêtre d'information.
Pour déterminer les valeurs de paramétrage des pages, vous devez comprendre la manière dont la mémoire est allouée par le moteur de transformation.
Lorsque le paramètre de carte WorkArea sur une mappe est défini sur la valeur Memory, le moteur de transformation alloue la mémoire selon les besoins à la fois pour les données et l'espace de travail, la taille de page étant contrôlée par le paramètre PageSize de la mappe.
Lorsque le paramètre de carte WorkArea sur une mappe est défini sur la valeur File, le moteur de transformation alloue la mémoire en vue d'effectuer le suivi des informations inscrites à la fois dans les données et dans l'espace de travail, la taille de page étant contrôlée par les paramètres PageSize et PageCount .
Suivant le mode d'allocation de la mémoire déterminé par le paramètre de carte WorkArea, si WorkArea est défini sur File et que les paramètres de mappage PageSize et PageCount sont définis sur une valeur plus élevée, la probabilité de dépassement de la mémoire par le moteur de transformation augmente.
Pour la plupart des transformations de données, un paramètre de mappage PageSize égal à 1024 kilooctets est excessif. Les transformations de données comportant un paramètre de mappage PageSize de 64, 128, 256 ou 384 kilo-octets doivent être testées pour déterminer leurs performances, en utilisant des données exemple représentatives de la taille et de la complexité des données qui seront utilisées dans votre environnement de production. Un impact négatif sur les performances a lieu si le paramètre de mappage PageSize est inférieur ou supérieur à ces recommandations.
Configuration des fenêtres d'information
Il est fondamental, lors de la spécification des informations de pagination, de comprendre les exigences de la mappe en termes d'informations. Certains modèles d'utilisation nécessitent l'attribution d'une plus grande fenêtre aux données et à l'espace de travail que d'autres modèles. Si la fenêtre définie par un paramètre de pagination est insuffisante, le sous-système de pagination génère des requêtes d'entrée-sortie supplémentaires pour répondre aux besoins de la mappe.
Inversement, des paramètres de pagination entraînant une sollicitation excessive de la mémoire peuvent également nuire aux performances. Si la quantité de mémoire demandée dépasse la mémoire physique disponible, la mémoire sera paginée sur le disque par le système d'exploitation sous-jacent. La sélection de paramètres de pagination appropriés permet de trouver un juste équilibre entre les besoins en informations de la mappe et la quantité de mémoire disponible.
La définition d'une fenêtre d'information appropriée s'applique tout particulièrement aux fonctions en série, telles que les fonctions EXTRACT(), LOOKUP() ou CHOOSE(). Suivant le contexte, les fonctions en série peuvent nécessiter un accès illimité aux données pour permettre l'exécution complète de la mappe. Cet aspect contraste avec les exigences beaucoup plus modestes des mappes séquentielles.
Connaissance de la taille des données d'entrée
Un facteur significatif pour déterminer les paramètres de pagination appropriés est la quantité de données traitées par une mappe. Une quantité de données d'entrée plus élevée peut augmenter les besoins en pagination de la mémoire afin d'atteindre un temps d'exécution optimal. L'augmentation de la mémoire paginée entraîne celle de la fenêtre d'information. Le niveau à partir duquel l'augmentation des données d'entrée nécessite une fenêtre d'information plus grande dépend de la manière dont la mappe est conçue.