-
Notifications
You must be signed in to change notification settings - Fork 64
Performanceoptimierung Best‐Practices
Hallo und Gruß!
Hier entsteht der Wiki-Artikel zum Thema
auf Basis des Barcamps im Rahmen des KITODO-Praxistreffens in Marburg November 2024.
Das Barcamp-Thema entstand aus den Erfahrungen des HLA mit unzureichender Leistung und Anwendungsabbrüchen von KITODO bei der Ausführung von verschiedenen Workflows.
Während des Barcamps konnten wir zwei Bereiche lokalisieren, in denen man weitere Optimierungen hinsichtlich Leistung und damit auch Stabilität durchführen kann.
Eine Information vorab: Dies sind Best-Practies Empfehlungen(!). Diese können genau so auch für andere funktionieren, aber man sollte die Einstellung nicht ungeprüft übernehmen. Es sind eher Richtwerte, an denen sich orientiert werden kann. Diese ersetzen aber keine Tests!
Im allgemeinen gilt für Kitodo / Tomcat: RAM > CPU
- CPU: 4
- RAM: 32GiB
- SWAP: 5GiB
Bei Erhöhung eines Wertes empfiehlt es sich, die anderen Werte entsprechend anzupassen. Denn zum Beispiel eine Erhöhung der CPU und der parallelen Tasks sorgt auch für einen erhöhten RAM-Verbrauch. (siehe dazu auch: TaskManager keepThreads Einstellungen)
Diese sind eher allgemein als Kitodo bezogen:
- geringer Wert für vm.swappiness z.B. 1
- SSD für Betriebssystem verwenden
Beschränken der RAM-Zuweisung an Elasticsearch:
- Erstellen einer neuen Datei unterhalb von "/etc/elasticsearch/jvm.options.d/" z.B. mit dem Namen "ram.options"
- Füllen der Datei mit dem folgendem Inhalt, um Elasticsearch auf 8GiB RAM zu beschränken:
-Xms8g
-Xmx8g
Hintergrund: Elasticsearch benutzt standardmäßig die Hälfte des RAMs. Bei einer größeren High-Available Clusterlösung von Elasticsearch wird dies vermutlich auch sinnvoll sein, im Kitodo-Kontext kann dies aber limitiert werden.