- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
parallele Auftragsaktionen in FS5
Hallo Community.
Im Zuge der Migration auf FS5 kam ein schonmal angedachtes Thema wieder hoch.
Parallele Ausfรผhrung mehrerer Generierungen in jeweils einer Sprache bei einem mehrsprachigen Projekt.
Ziel: Performancesteigerung durch stรคrkere Auslastung des recht potenten Redaktionssystems (32 Cores)
Leider sind wir hier รผber eine Testphase nicht hinausgekommen, da sich einige Probleme ergaben:
1. gelegentliche Lockups der Generierungsaktionen
2. teilweise lรคngere Ausfรผhrungszeiten bei paralleler Generierung als bei linearer Abfolge
Zu Punkt1: Wir konnten hier keinerlei Fehlerquelle in unseren Templates lokalisieren. Das Problem trat sporadisch auf.
Zu Punkt2: Ein Bottleneck im I/O des Servers kann ausgeschlossen werden, es gab keinerlei io-wait.
Neben der Parallelisierung der Sprachen haben wir auch mehrere Teilgenerierungen von Projektsegmenten versucht, mit gleichem Ergebnis.
Wie sind hier die Erfahrungen von anderen groรen Projekten? Wurde/Wird das irgendwo praktiziert?
Bin fรผr jeden Tipp dankbar.
MfG
- Labels:
-
Developers
- Tags:
- fs5
- generierung
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Zu Punkt 1: Die Lockups wรคren eher ein Thema fรผr den Helpdesk. Am besten Threaddumps erstellen, die lassen vielleicht auf die Ursache schlieรen.
Zu Punkt 2: Generell hat der Cache des Repositories viel Einfluss auf die Generierungszeit. Fรผhrt man zwei gleiche Generierungen hintereinander aus, so ist die zweite meist deutlich schneller als die erste Generierung. Hast du das beim Vergleich berรผcksichtigt? Zudem ist zu beachten, dass bei mehreren Generierungen auch die Medien mehrfach ins Dateisystem geschrieben werden. Gerade bei vielen bzw. groรen Medien ist das oft ein erheblicher Faktor.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das Caching innerhalb der Generierung ein Faktor ist, war bekannt. Schliesslich generiert die zweite Sprache bei einer linearen Generierung ja immer wesentlich schneller.
Viel wichtiger ist aber eine Antwort auf die Frage, ob es sich รผberhaupt lohnt, da Zeit und Arbeit reinzustecken. Wird parallele Generierung irgendwo produktiv eingesetzt? Haben sie das in-house mal getestet?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Natรผrlich testen wir das. Der Zeitgewinn hรคngt stark vom Projekt und der Projektgrรถรe ab, d.h. ob sich ein produktiver Einsatz lohnt, muss man testen. Wenn bei der Generierung die IO der limitierende Faktor ist, lohnt es sich tatsรคchlich nicht. Eine Pauschal-Aussage ist aber tatsรคchlich nicht mรถglich.
Zu dem Punkt:
Zudem ist zu beachten, dass bei mehreren Generierungen auch die Medien mehrfach ins Dateisystem geschrieben werden. Gerade bei vielen bzw. groรen Medien ist das oft ein erheblicher Faktor.
Das trifft natรผrlich zu, wenn einzelne Auftrรคge parallel laufen. Ich gehe aber davon aus, das Hagen von parallelen Tasks innerhalb eines Auftrags spricht.
Zu den Deadlocks: An den Traces habe ich auch starkes Interesse. "Fehler in Vorlagen" kรถnnen nicht zu einem Deadlock fรผhren. Eventuell wird irgendwo noch eine falsche Datenstruktur verwendet, entweder im FirstSpirit-Code oder in einer Fremdkomponente.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich kenne mehrere Projekte die parallel Generierung. Meist entweder nach Sprache oder Ausgabekanal. Ob es schneller ist hรคngt aber von vielen Faktoren ab, das muss man leider ausprobieren.
Wenn es primรคr um die Beschleunigung des Prozesses geht, gibt es noch ein paar andere Stellschrauben:
- Deltagenerierung verwenden
- Den Haken "Medien im Generierungsverzeichnis erzeugen" deaktivieren und das CRC-Deployment einsetzen
- Mal die Generierungszeiten fรผr jede Page loggen oder in eine Monitoring-Software laufen lassen. Dann versuchen die Langlรคufer zu optimieren. Oft hilft das Setzen von Indices in der Datenbank.

