Consignes de conception en vue d'une performance optimale

Une conception attentive de vos flux de données dans le but d'accroître la performance est le meilleur moyen d'atteindre une bonne performance avec Spectrum™ Technology Platform. Les consignes suivantes décrivent les techniques dont vous pouvez vous servir pour optimiser les performances de vos flux de données.

Minimiser le nombre de stages

Spectrum™ Technology Platform obtient de hautes performances à travers le processus parallèle. Chaque stage d'un flux est exécuté de manière asynchrone dans son propre thread. Cependant, il est possible d'entraîner l'« overthread » des processeurs lors de l’exécution de certains types de flux de données. Dans ce cas, le système passe autant de temps, voire plus, à gérer les threads qu’à réellement « travailler ». Nous avons vu des flux de données qui comportaient jusqu'à 130 stages individuels et qui livrent une très faible performance sur des serveurs de plus petites tailles avec un ou deux processeurs.

Donc, la première chose à considérer pour concevoir des flux de données qui livrent une bonne performance est d'utiliser autant de stages que nécessaire, mais pas plus. Quelques exemples où plus de stages que nécessaires sont utilisés :

  • Utiliser plusieurs routeurs conditionnels quand un seul suffirait
  • Définir plusieurs stages Transformer au lieu de combiner les transformations dans un seul stage

Heureusement, il est généralement possible de reconcevoir ces flux de données afin d'ôter les stages redondants ou inutiles et ainsi améliorer la performance.

Pour les flux complexes, songez à utiliser des flux intégrés ou des sous-flux afin de réduire l’encombrement sur le canevas et de faciliter l'affichage et le parcours du flux. L'utilisation de flux intégrés ne présente pas d'avantages en termes de performances lors de l’exécution, mais cela facilite l'utilisation de flux dans Enterprise Designer. L'utilisation de sous-flux pour simplifier les flux complexes peut améliorer les performances d'Enterprise Designer lorsque vous modifiez des flux.

Réduire la longueur d'enregistrement

Puisque les données sont transmises entre les stages s'exécutant de manière simultanée, il faut aussi prendre en considération la longueur des enregistrements entrants. Généralement, une entrée possédant une longueur d'enregistrement longue sera plus longue à traiter qu'une entrée possédant une longueur d'enregistrement plus courte, tout simplement en raison du nombre plus élevé de données à lire, écrire et trier. Les flux de données intégrant plusieurs opérations de tri bénéficieront particulièrement d'une réduction de la longueur d'enregistrement. Dans le cas où la longueur d'enregistrement est très longue, il est parfois plus rapide de supprimer les champs inutiles de l'entrée avant d'exécuter le job Spectrum™ Technology Platform, puis de réintroduire les champs supprimés dans le fichier de sortie qui en résulte.

Utiliser les tris de manière appropriée

Une autre méthode à prendre en considération est la minimisation des opérations de tri. Le tri prend souvent plus de temps que d'autres opérations, ce qui peut devenir problématique au fur et à mesure qu'augmentent le nombre et la taille des enregistrements d'entrée. Toutefois, de nombreux stages Spectrum™ Technology Platform nécessitent, ou privilégient, des données d'entrée triées. Les modules Universal Addressing et Enterprise Geocoding, par exemple, donnent un performance optimale quand l'entrée est triée par pays et par code postal. Les stages comme Intraflow Match et Interflow Match nécessitent que l'entrée soit triée par le champ « Grouper par ». Dans certains cas, vous pouvez utiliser une application de tri externe afin de pré-trier les données d'entrée, ce qui peut s'avérer plus rapide que de trier à l'intérieur du flux de données Spectrum™ Technology Platform.