- Beiträge: 8
Verarbeitungszeit optimieren
- Wolfgang Berto
- Autor
- Offline
- Benutzer
Weniger
Mehr
4 Jahre 9 Monate her #3896
von Wolfgang Berto
Verarbeitungszeit optimieren wurde erstellt von Wolfgang Berto
Die Verarbeitungszeit für die Anreicherung von ca. 23.000 Adress-Datensätzen mit AGS aus Referenztabelle mit 21,2 mio Records betrugt in einer VM (auf einer dedizierten, nur für die VM verwendeten sehr schnellen 1 TB SSD) 55 Minuten.
Gibt es Optimierungsmöglichkeiten hinsichtlich der Verarbeitungszeit?
Mir fiel auf, dass das Einlesen der Referenzdaten immer wieder eine Pause von ca. einer Sekunde einlegte.
Ist mit FH Server eine deutlich kürzere Verarbeitungszeit zu erwarten?
Gruß,
W.Berto
Gibt es Optimierungsmöglichkeiten hinsichtlich der Verarbeitungszeit?
Mir fiel auf, dass das Einlesen der Referenzdaten immer wieder eine Pause von ca. einer Sekunde einlegte.
Ist mit FH Server eine deutlich kürzere Verarbeitungszeit zu erwarten?
Gruß,
W.Berto
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
4 Jahre 9 Monate her - 4 Jahre 9 Monate her #3900
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Verarbeitungszeit optimieren
Hallo Herr Berto,
Optimierungen gehen immer
Hinweis: Die Verarbeitung läuft immer gleich ab. Es ist egal ob die Definition manuell über den Designer , per Skript über das Batch Modul oder aber komplett automatisiert über den FlowHeater Server ausgeführt wird!
Um eine genau Aussage bzgl. Optimierung treffen zu können, wäre natürlich eine tiefgreifende Analyse Ihrer Daten sowie Anforderung notwendig. Bitte haben Sie Verständnis dafür, dass das nicht Bestandteil des kostenlosen Supportes hier im Forum sein kann.
Aufgrund Ihrer beiden vorherigen Fragen hier hätte ich eine Anmerkung)
Einmal wird das Problem sein, dass Sie in der InMemory Adapter Tabelle keinen eindeutigen Schlüssel definiert haben. Das bremst die Verarbeitung enorm aus! Hier würde ich mal beim Einlesen der Daten einen eindeutigen Schlüssel (über AutoID oder aber eine GUID ) definieren anhand der dann die Updates ausgeführt werden. Die AGS Nummer holen Sie sich dann per SQL Heater oder String Replace Heater aus der Referenztabelle. Beim Einlesen der Referenztabelle wäre es auch Hilfreich wenn hier doppelte Werte per Filter Heater gefiltert werden würden, die werden ja eh wieder überschrieben! So können Sie darüber auch einen eindeutigen Index erstellen und die Verarbeitung sollte deutliche beschleunigt werden. Ich würde sagen die Verarbeitungszeit wird so mindestens halbiert, wenn nicht noch mehr!
Vorgehen kurz zusammengefasst
Optimierungen gehen immer
Hinweis: Die Verarbeitung läuft immer gleich ab. Es ist egal ob die Definition manuell über den Designer , per Skript über das Batch Modul oder aber komplett automatisiert über den FlowHeater Server ausgeführt wird!
Um eine genau Aussage bzgl. Optimierung treffen zu können, wäre natürlich eine tiefgreifende Analyse Ihrer Daten sowie Anforderung notwendig. Bitte haben Sie Verständnis dafür, dass das nicht Bestandteil des kostenlosen Supportes hier im Forum sein kann.
Aufgrund Ihrer beiden vorherigen Fragen hier hätte ich eine Anmerkung)
Einmal wird das Problem sein, dass Sie in der InMemory Adapter Tabelle keinen eindeutigen Schlüssel definiert haben. Das bremst die Verarbeitung enorm aus! Hier würde ich mal beim Einlesen der Daten einen eindeutigen Schlüssel (über AutoID oder aber eine GUID ) definieren anhand der dann die Updates ausgeführt werden. Die AGS Nummer holen Sie sich dann per SQL Heater oder String Replace Heater aus der Referenztabelle. Beim Einlesen der Referenztabelle wäre es auch Hilfreich wenn hier doppelte Werte per Filter Heater gefiltert werden würden, die werden ja eh wieder überschrieben! So können Sie darüber auch einen eindeutigen Index erstellen und die Verarbeitung sollte deutliche beschleunigt werden. Ich würde sagen die Verarbeitungszeit wird so mindestens halbiert, wenn nicht noch mehr!
Vorgehen kurz zusammengefasst
- Einlesen der
CSV
Referenztabelle in eine InMemory Tabelle und filtern per
Filter Heater
auf doppelte Werte. Eindeutigen Schlüssel anlegen über PLZ+Strasse+Hausnummer
- Einlesen der
CSV
Kunden die abgeglichen werden sollen in eine weitere InMemory Tabelle und hier ein weiteres Feld mit einer
AutoID
oder aber besser einer GUID anlegen. Weiter keine Verarbeitung in diesem Verarbeitungsschritt.
- Dann lesen der Kundendaten über die InMemory Tabelle und updaten in die gleiche InMemory Tabelle. PK ist das neue Feld ( AutoID oder aber GUID ). In diesen Verarbeitungsschritt ermitteln Sie mittels des SQL Heater oder String Replace Heater per Lookup die AGS Nummer (ggf. auch weitere Felder) aus der im ersten Verarbeitungsschritt eingelesene Referenztabelle.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 4 Jahre 9 Monate her von FlowHeater-Team. Begründung: Interne Verlinkung geändert
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.273 Sekunden