Designrichtlinien für eine optimale Leistung

Das sorgfältige Designen Ihrer Datenflüsse zur Leistungsoptimierung ist das Wichtigste, um eine gute Leistung von Spectrum Technology Platform zu erreichen. Diese Richtlinien beschreiben die Techniken, die Sie zur Optimierung der Datenflussleistung anwenden können.

Minimieren der Schrittanzahl

Spectrum Technology Platform erreicht durch eine parallele Verarbeitung eine hohe Leistung. Jeder Schritt in einem Fluss wird asynchron in einem eigenen Thread ausgeführt. Es ist jedoch möglich, die Prozessoren bei der Ausführung von bestimmten Datenflusstypen zu überlasten. Wenn dies passiert, verbringt das System mehr Zeit mit der Verwaltung der Threads als mit der eigentlichen Arbeit. Wir haben Datenflüsse mit 130 einzelnen Schritten gesehen, die sehr schlecht auf kleineren Servern mit einem oder zwei Prozessoren ausgeführt werden.

Die erste Überlegung beim Designen von Datenflüssen ist also eine gute Leistung, um so viele Schritte wie nötig aber so wenig Schritte wie möglich zu verwenden. Einige Beispiele zur Verwendung von mehr Schritten als nötig sind:

  • Die Verwendung von mehreren Conditional Routers, wenn einer ausreichend wäre
  • Die Definition von mehreren Transformer-Schritten anstelle der Kombination von Transformationen in einem einzelnen Schritt

Glücklicherweise ist es in der Regel möglich, diese Datenflüsse neu zu designen, um redundante oder nicht benötigte Schritte zu entfernen und die Leistung zu verbessern.

Ziehen Sie bei komplexen Flüssen die Verwendung von eingebetteten Flüssen oder Unterflüssen in Betracht, um die Elemente auf der Arbeitsfläche zu verringern und so die Ansicht und auch die Navigation durch den Fluss zu vereinfachen. Die Verwendung von eingebetteten Flüssen hat keine Auswirkung auf die Laufzeitleistung. Jedoch wird die Arbeit mit Flüssen im Enterprise Designer vereinfacht. Die Verwendung von Unterflüssen zur Vereinfachung komplexer Flüsse kann die Leistung vom Enterprise Designer beim Bearbeiten von Flüssen verbessern.

Verringern der Datensatzlänge

Da Daten zwischen gleichzeitig ausgeführten Schritten übermittelt werden, ist die Länge der Eingabedatensätze eine weitere Überlegung. Im Allgemeinen dauert die Eingabe mit einer großen Datensatzlänge länger als bei einer Eingabe mit einer kürzeren Datensatzlänge, da einfach mehr Daten gelesen, geschrieben und sortiert werden müssen. Datenflüsse mit mehreren Sortiervorgängen profitieren besonders von einer kürzeren Datensatzlänge. Bei sehr großen Datensatzlängen kann es besser sein, unnötige Felder aus der Eingabe zu entfernen, bevor der Spectrum Technology Platform-Auftrag ausgeführt wird, anstatt sie an die resultierende Ausgabedatei anzuhängen.

Verwenden einer angemessenen Sortierung

Eine weitere Überlegung ist die Minimierung der Sortiervorgänge. Die Sortierung ist oftmals zeitaufwendiger als andere Vorgänge und kann zu einem Problem werden, wenn die Anzahl und Größe der Eingabedatensätze zunimmt. Viele Spectrum Technology Platform-Schritte erfordern oder bevorzugen jedoch sortierte Eingabedaten. Das Universal Addressing-Modul und Enterprise Geocoding-Modul werden z. B. ausgeführt, wenn die Eingabe nach Land und Postleitzahl sortiert ist. Schritte wie „Intraflow Match“ und „Interflow Match“ erfordern eine sortierte Eingabe nach dem Feld „Gruppieren nach“. In manchen Fällen können Sie eine externe Sortieranwendung nutzen, um Eingabedaten vorzusortieren. Dies kann schneller als die Sortierung im Spectrum Technology Platform-Datenfluss sein.