Flow & Filter Performance

Hallo,


wir haben etliche Flows, welche Daten aus einem relativ großen Datastore holen und dann sukzessive filtern (3 Filter Steps) um anschließend die Daten mit Infos aus dem Master Datastore anzureichern und zu aggregieren. Dies Flows brauchen teilweise sehr lange um die Filter Steps und das anschließende Mapping durchzuführen. Was kann man unternehmen, um diese Performance zu verbessern? Ganz offen gesprochen, für das, was die Filter und Flows machen sollen, ist die Performance sehr mau.

Hallo David,


verwendet Ihr alle drei Filter-Steps hintereinander mit dem Output des vorherigen Filter-Steps? Wenn ja, empfehlen wir die Logiken in den drei Filter-Steps zu einer Logik mit und(&&)/oder(||)-Logiken zu verknüpfen umso nur einen Filter-Step zu verwenden.


Viele Grüße,

Lukas

Hallo Lukas,


ja, die Filter verwenden stets den Output des vorherigen Filter Step als Input. Wir nutzen als Filter-Strings auch Projektvariablen, weil diese in meheren Flows verwendet werden. Ich habe jetzt mal den Filter String via TextHtmlWriter Step zusammengesetzt und nur noch einen Filter verwendet. An und für sich dauert das filtern genau so lange wie vorher (~4 Minuten), der verarbeitende Mapper hat bisher ca. 9 Minuten gebraucht. Ich werde nun beobachten, wie hier die Performance Änderung ist.

Hallo David,


was eventuell auch noch helfen könnte, ist wenn du den CacheMode des Filters oder Mapper aktivierst (Erweiterte Optionen) in dem du gruppierst.


Ergänzung: Querverweise im Mapper haben oft den größten Einfluss auf Performance.


Viele Grüße,

Lukas