Datenbank-Server konfigurieren
Diese Seite soll nur die für Zammad relevanten Teile beleuchten und ist nicht als vollständige Anleitung gedacht. Sie ist nur dann für Sie relevant, wenn Sie einen bestehenden PostgreSQL-Server betreiben und die Datenbank von Zammad auch darin laufen lassen wollen.
WARNING
Wenn Sie Software für das Pooling von Datenbankverbindungen wie PgBouncer verwenden, stellen Sie sicher, dass Sie einen Pooling-Modus verwenden, der vollständig mit PostgreSQL kompatibel ist. Typischerweise wird dies "session connection pooling" genannt. Transaktionsbasiertes connection pooling wird nicht unterstützt und kann bei Datenbankmigrationen zu Fehlern führen.
Nachfolgend finden Sie die Speicherorte der relevanten PostgreSQL-Konfigurationsdateien, die Sie anpassen können. Denken Sie daran, dass die Versionen von Ihrem Setup abweichen können - passen Sie sie bei Bedarf an.
/etc/postgresql/{your version}/main/postgresql.conf
Poolgröße anpassen
In der Datei database.yml
(Verzeichnis config/
) können Sie die zulässige Poolgröße festlegen. Standardmäßig nimmt jeder Zammad-Prozess bis zu 50
Verbindungen auf (Pool: 50
).
Dies sollte für jeden Anwendungsfall ausreichend sein. Wenn Sie Timeouts bei der Datenbankverbindung oder Pool-Fehler feststellen, deutet dies in der Regel auf andere Probleme Ihres PostgreSQL-Servers hin.
Anpassen von max_connections
(erforderlich)
Zammad verwendet standardmäßig bis zu 200 Verbindungen, die Sie mit dem folgenden Befehl erhöhen können.
Erhöhen Sie die maximal zulässige Anzahl von Verbindungen:
sed -i "/max_connections/c\max_connections = 2000" <postgresql-configuration-file>
Wenden Sie die Änderungen an, indem Sie postgresql und Zammad neu starten (in dieser Reihenfolge):
systemctl restart postgresql zammad
PostgreSQL für größere Instanzen anpassen (optional)
WARNING
Überprüfen Sie zunächst die folgenden Einstellungen und stellen Sie sicher, dass Ihr System die Anforderung erfüllt! Die folgenden Einstellungen haben wir als nützlich erachtet, alles andere sprengt den Rahmen dieser Dokumentation!
Einige Verbesserungen beim Caching:
sed -i "/shared_buffers/c\shared_buffers = 2GB" <postgresql-configuration-file>
sed -i "/temp_buffers/c\temp_buffers = 256MB" <postgresql-configuration-file>
sed -i "/work_mem/c\work_mem = 10MB" <postgresql-configuration-file>
sed -i "/max_stack_depth/c\max_stack_depth = 5MB" <postgresql-configuration-file>
Wenden Sie die Änderungen an, indem Sie postgresql und Zammad neu starten (in dieser Reihenfolge):
systemctl restart postgresql zammad