bmap4j - Batch Management And Processing For Java |
Batch-Transaction-Processing Grundlagen - Performanz |
en | |
PerformanzParallelisierungEine Parallelisierung der Programmes ist vielfach unabdingbar, um den geforderten Durchsatz zu erreichen. Der ganze Batch wird dabei in Slices (Teilstapel) unterteilt, welche dann parallel verarbeitet werden. Voraussetzung für die Umsetzung einer parallelen Strategie ist, dass die einzelnen Slices voneinander unabhängige Records enthalten. Die Parallelisierung muss aber mit der Skalierbarkeit von Appserver und Backendsystemen (z.B. DB's) einhergehen, sonst entsteht dort ein Flaschenhals, welcher die parallel laufenden Einheiten ausbremst, so dass kein oder nur ein geringer Performanzgewinn resultiert. Commit-EinheitenJeden Record einzeln zu committen ist vielfach nicht effizient. Alle Records zusammen zu committen ist meistens auch nicht möglich (siehe Robustheit - All-or-Nothing Strategie). Meist wird eine optimale Anzahl von Records zu einer Commit-Einheit zusammengefasst. Diese Commit-Einheit fällt optimalerweise mit dem Slice aus der Parallelisierung zusammen. Allenfalls ist dann noch eine Abstimmung mit dem Cache des eingesetzten Entity-Managers nötig. Weitere AspekteAuch ausserhalb des Scopes des Batch Systems beeinflussen diverse Aspekte das Performanzverhalten:
Auch diese Aspekte müssen bei der Optimierung der Performanz eines BTP Systems in Betracht gezogen werden. |
||
25.05.2018 12:24 | Copyright © 2007 - 2018 by Xinventa GmbH, Luzern |