Performance-Tuning-Tipps für Confluence (Teil 2)

confluence_logoBei starker Beanspruchung muss Confluence wie jede Anwendung getunt werden, um performant und stabil zu laufen. Wie so oft gibt es jedoch auch hier keinen Königsweg zur optimalen Konfiguration für die bestmögliche Performance. Einige Tipps können aber helfen, Schwachstellen zu identifizieren, Probleme zu beheben und Risiken zu minimieren. Nach dem ersten Teil unserer Performance-Hinweise für große Confluence-Instanzen sind hier weitere Tuning-Tipps, teilweise mit Links auf ausführliche weiterführende Ressourcen.

Cache-Tuning

Um die Auslastung der Datenbank zu reduzieren und viele Operationen zu beschleunigen, verfügt Confluence über einen eigenen Daten-Cache. Das Tuning der Cache-Größe kann die Confluence-Performance verbessern (wenn der Cache zu klein ist) oder den Speicher verringern (wenn der Cache zu groß ist). Ausführliche Informationen bietet Atlassians Seite Cache Performance Tuning.

Antivirus-Software

Antivirus-Software verschlechtert die Performance von Confluence drastisch. AV-Software, die den Zugriff auf die Festplatte überwacht, ist teilweise abträglich und kann zu Confluence-Fehlern führen. Sie sollten Ihre AV-Software so konfigurieren, dass sie das Home-Verzeichnis, das Indexverzeichnis und alle Verzeichnisse, die mit der Datenbank zusammenhängen, ignoriert.

HTTP-Kompression aktivieren

Wenn die Bandbreite für den Flaschenhals in der Confluence-Installation verantwortlich ist, sollten Sie HTTP-Kompression aktivieren. Das kann auch sinnvoll sein, wenn Sie eine nach außen gerichtete Instanz betreiben, da Bandbreitenkosten eingespart werden.

Virtuelle Betriebssysteme

Virtuelle Umgebungen wie VMWare können CPU-Spikes verursachen. Daher sollte Confluence auf einem nativen Betriebssystem laufen. In einigen Situationen können VM-Tools zusammenbrechen, da exzessive Kontextwechsel und Unterbrechungen die JVM langsam laufen und Confluence sehr langsam starten lassen.

Performance-Tests

Sie sollten alle Konfigurationsänderungen in einem Demo-System testen. Idealerweise führen Sie Load-Tests durch und passen sie an, um Nutzerverhalten zu simulieren. Siehe hierzu Atlassians Informationen zu Performance Testing Scripts.

Access-Logs

Durch die Aktivierung der nativen Access-Logging-Funktion können Sie identifizieren, welche Seiten langsam sind und welche User sie nutzen.

Web-Server nutzen

Für Hochauslastungsumgebungen kann die Performance verbessert werden, wenn ein Web-Server wie Apache vor die Anwendung geschaltet wird. Siehe hierzu Atlassians Anleitung Running Confluence behind Apache.

Wenn Sie Ihren Web-Server konfigurieren, stellen Sie sicher, dass ausreichend Threads bzw. Prozesse konfiguriert sind, um die Belastung zu handhaben. Das betrifft sowohl den Web-Server als auch den Application Server Connector, der typischerweise separat konfiguriert wird. Wenn möglich, sollten Sie Connection-Pooling in Ihren Web-Server-Verbindungen zum Anwendungs-Server aktivieren.

Parallel GC

Wenn Sie mehrere CPUs auf Ihrem Server haben, können Sie -XX:+UseParallelOldGC zu Ihren JAVA_OPTS-Optionen hinzufügen. Das erlaubt die Speicherbereinigung des sogenannten Tendured Space parallel mit der der Anwendung und kann die Performance verbessern bzw. Slow-Performance-Spikes reduzieren. Siehe hierzu die Atlassian-Informationen zum Thema Garbage Collector Performance Issues.

Speicherlecks identifizieren

Es gibt einige externe Plugins (und hier vor allem solche, die vor langer Zeit entwickelt wurden und nicht mehr aktiv gepflegt werden), die bekanntermaßen Speicher schlucken und ihn nicht zurückgeben. Das manifestiert sich in reduzierter Performance und kann letztlich zu einem Crash führen. Siehe hierzu Troubleshooting Confluence Hanging or Crashing.

Kritische Plugins von Drittanbietern identifizieren

Confluence ist optimiert für eine hohe Belastung und viele Seiten. Einige Plugins von Drittherstellern wurden jedoch mit Blick auf kleine Unternehmen entwickelt und können nicht mit vielen gleichzeitigen Nutzern, vielen Seiten oder Berechtigungen oder zahlreichen Bereichen umgehen. Es ist unmöglich zu sagen, welches Plugin unter welchen Voraussetzungen zu Problemen führt, doch es ist immer hilfreich, alle Plugins von Drittanbietern, die nicht geschäftskritisch sind, zu deaktivieren, während Sie an der Verbesserung der Performance arbeiten.

Weiterführende Infos

Haben Sie Fragen zum Betrieb Ihrer Atlassian-Anwendungen? Möchten Sie Performance, Stabilität und Sicherheit Ihrer Instanzen verbessern? Dann sprechen Sie uns unverbindlich an: Die erfahrenen Systemadministratoren von //SEIBERT/MEDIA beraten Sie gerne individuell und unterstützen Sie dabei, Leistungsfähigkeit und Hochverfügbarkeit Ihrer Systeme zu erreichen und die Voraussetzungen für eine effiziente Nutzung auch in großen Umgebungen zu schaffen.

//SEIBERT/MEDIA ist Atlassian Enterprise Expert
Confluence auf Windows- oder Linux-Servern betreiben?
Cluster für Atlassian-Anwendungen für große Umgebungen