Questions & Answers

hjaeger
Elite Observer

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

0 Kudos
4 Replies
feddersen
Community Manager

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.

0 Kudos

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?

0 Kudos

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.

Peter
0 Kudos

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.
0 Kudos

Type a product name