Nous exécutons 19 mappages CDC avec entre 17 et 90 tables dans chacun, et avons récemment eu une percée dans les performances. Le nombre de tables n'est pas le facteur limitant le plus important pour nous, le centre de pouvoir et l'échange d'énergie est. Notre source est DB2 sur z/OS, mais qui est sans doute pas d'importance ... Ce est ce que nous avons fait:
1), nous avons augmenté le tampon DTM taille de bloc à 256 Ko, et la taille de la mémoire tampon DTM 1 Go ou plus , un mappage «complexe» nécessite de nombreux blocs tampons.
2) nous changeons la connexion attribue à: - en temps réel latence flush = 86000 (réglage maxi) - Livrer taille en session ont été réglé très haut (pour permettre le réglage ci-dessus pour être le facteur décisif) - OUW count = -1 (même raison que ci-dessus) - nombre maximum de lignes par engagement = 0 - lignes minimum par commettons = 0
3) nous avons mis la propriété session « stratégie de rétablissement » à «échec de la tâche et continuer les flux de production et implémenté notre propre solution pour créer un «fichier de jetons de redémarrage» à partir de zéro chaque fois que le workflow démarre. Seulement un peu hors sujet: La façon dont nous avons implémenté cela était avec une table supplémentaire (nous l'appelons une table SYNC) contenant une seule ligne. Cette ligne est mise à jour toutes les 10 minutes sur la source par un processus planifié fiable (un petit programme CICS). Le contenu de cette table est écrit dans la base de données cible une fois par workflow et une colonne supplémentaire est ajoutée dans le mappage, qui contient le contenu de $$ PMWorkflowName. Outre la colonne workflowname, les deux colonnes DTL__Restart1 et * 2 sont également écrites sur la cible. Lors du démarrage du flux de travail, nous exécutons une petite session réutilisable avant la session CDC qui lit l'enregistrement pour le flux de travail actuel de la table SYNC du côté cible et crée le fichier RESTART à partir de zéro. [Veuillez noter que vous aurez jusqu'à 10 minutes (à partir de l'heure de début du flux de travail) dans la cible. Nous acceptons cela et nous l'agrégons dans tous les mappings qui en lisent]
Essayez de bricoler ces combinaisons et dites-nous ce que vous ressentez. Nous avons maintenant un débit maximum dans un intervalle de 10 minutes de 10 à 100 millions de lignes par cartographie. Une autre chose que je peux vous dire: Chaque fois qu'une validation est déclenchée (chaque 86 secondes avec les paramètres ci-dessus), le centre d'alimentation vide tous ses tampons d'écriture contre tous les tables dans une grande portée de validation. Si l'un d'entre eux est verrouillé par un autre processus, vous risquez de vous retrouver avec beaucoup de verrouillage en cascade sur le côté de l'écriture, ce qui rendra le CDC lent.
Pour le troisième point que vous avez mentionné, comment avez-vous implémenté la création du fichier de jeton de redémarrage? Que l'utilisation de CV depuis le dernier point de contrôle crée des problèmes ici? – Surendar
Je viens d'éditer la réponse, et bien que ce soit une très brève explication, j'espère que vous pourrez me suivre. Cela étant dit: vous devriez essayer de mesurer combien plus de vitesse vous obtiendrez de ce changement et de tous les autres changements suggérés avant de l'implémenter dans une production complète.Les deux autres changements sont beaucoup plus faciles à faire, et peuvent avoir le même effet, alors commencez là :) –
Salut Lars merci pour la réponse, je vais mettre en œuvre la suggestion que vous avez fournie et vous faire connaître le résultat. – Surendar