 {"id":46,"date":"2017-12-29T12:31:47","date_gmt":"2017-12-29T12:31:47","guid":{"rendered":"http:\/\/www.pastscho.de\/?p=46"},"modified":"2018-02-03T11:40:13","modified_gmt":"2018-02-03T10:40:13","slug":"powercenter-tuning","status":"publish","type":"post","link":"https:\/\/www.pastscho.de\/?p=46","title":{"rendered":"PowerCenter Session Tuning"},"content":{"rendered":"<p>ETL kann nie schnell genug sein. Wenn jedoch ein Workflow zu langsam ist m\u00fcssen wir zun\u00e4chst messen welche Laufzeit zu langsam und welche Laufzeit schnell genug ist. Schnell lassen sich die &#8222;Langl\u00e4ufer&#8220; identifizieren und wir k\u00f6nnen mit unseren Ma\u00dfnahmen beginnen. Dargestellt wird das folgende Beispiel anhand eines Mappings das bei einem Full Load ca. 130 Mio. Zeilen bewegt und mit einer Laufzeit von 1:30h deutlich zu langsam ist. Es handelt sich um ein Mapping f\u00fcr die Beladung der Stage aus dem Quellsystem.<\/p>\n<p>Im n\u00e4chsten Schritt m\u00fcssen wir untersuchen welcher Teil der Session den Engpass darstellt. Bei der Suche nach dem Engpass m\u00fcssen folgende Schritte betrachtet werden.<\/p>\n<p>Source<br \/>\nTarget<br \/>\nMapping \/ Transformations<br \/>\nSession<br \/>\nSystem<\/p>\n<p>Laufzeit 1:30h; Rows\/Second 8k<\/p>\n<p><strong>Source<\/strong><br \/>\nIn diesem Fall ist die Spalte f\u00fcr die Berechnung des Inkrements bereits indiziert. Bei einem Full Load spielen habe Indizes keinen Einfluss auf das Laufzeitverhalten. Die Abfrage selbst liest nur eine Tabelle aus. Somit kann die Abfrage nicht optimiert werden.<\/p>\n<p><strong>Mapping \/\u00a0Transformation<\/strong><br \/>\nBei der Beladung der Stage werden nahezu keine Transformationen durchgef\u00fchrt. Somit gibt es kein Potential zur Performance Optimierung.<\/p>\n<p><strong>Target<\/strong><br \/>\nBei der Zieltabelle handelt es strukturell um eine 1:1 Kopie der Quelltabelle. Zus\u00e4tzlich wurde diese Tabelle noch um Indexe f\u00fcr Berechnungen und Weiterverarbeitung erweitert. Durch ein drop der Indexe vor dem Laden und ein create nach dem Laden kann sich das Laufzeitverhalten des Mappings entscheidend verbessert werden. Die Kosten f\u00fcr das l\u00f6schen der Indexe ist vernachl\u00e4ssigbar. Der Aufbau nach dem Ladeprozess ist \u00fcberschaubar. Der Datendurchsatz erh\u00f6ht sich enorm.<\/p>\n<p><strong>Session<\/strong><br \/>\nEine Partitionierung der PowerCenter Session wird nicht in Betracht gezogen.\u00a0Folgende Parameter\u00a0werden f\u00fcr die Verbesserung der Performance untersucht.<\/p>\n<p>Commit Interval<br \/>\nDTM Buffer Size<br \/>\nDefaul buffer block Size<br \/>\nTarget Load Type (bulk\/normal)<\/p>\n<p><strong>System<\/strong><br \/>\nDas System wird bei dieser Untersuchung nicht ber\u00fccksichtigt.<\/p>\n<p><strong>Ergebnis<\/strong><br \/>\nDurch die Pflege der Indizes konnte der Datendurchsatz von urspr\u00fcnglich 18.000 rows\/sec auf 30.000 rows\/sec erh\u00f6ht werden.\u00a0Durch die Abschlie\u00dfende Korrektur der beiden Buffer Parameter konnte der Datendurchsatz nochmals auf 76.000 row\/sec erh\u00f6ht werden.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ETL kann nie schnell genug sein. Wenn jedoch ein Workflow zu langsam ist m\u00fcssen wir zun\u00e4chst messen welche Laufzeit zu langsam und welche Laufzeit schnell genug ist. Schnell lassen sich die &#8222;Langl\u00e4ufer&#8220; identifizieren und wir k\u00f6nnen mit unseren Ma\u00dfnahmen beginnen. Dargestellt wird das folgende Beispiel anhand eines Mappings das bei einem Full Load ca. 130 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,7,1,16],"tags":[],"class_list":["post-46","post","type-post","status-publish","format-standard","hentry","category-etl","category-informatica","category-powercenter","category-sql"],"_links":{"self":[{"href":"https:\/\/www.pastscho.de\/index.php?rest_route=\/wp\/v2\/posts\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pastscho.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pastscho.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pastscho.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pastscho.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=46"}],"version-history":[{"count":17,"href":"https:\/\/www.pastscho.de\/index.php?rest_route=\/wp\/v2\/posts\/46\/revisions"}],"predecessor-version":[{"id":114,"href":"https:\/\/www.pastscho.de\/index.php?rest_route=\/wp\/v2\/posts\/46\/revisions\/114"}],"wp:attachment":[{"href":"https:\/\/www.pastscho.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pastscho.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pastscho.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}