Dieses Dokument beschreibt diverse Caching-Optionen, um die Performance Ihrer BlueSpice-Installation zu erhöhen.
Hinweise zum Dokument
- Beim Editieren von Konfigurationsdateien mit einem Texteditor müssen die Dateien in UTF-8 Kodierung ohne BOM (Byte Order Mark) gespeichert werden.
- Der Platzhalter
<installpath-bluespice>
steht stellvertretend für den Pfad zu Ihrer BlueSpice-Installation, z.B.C:\bluespice\var\www
(Windows bei Beachtung der Dokumentation "Ordnerstruktur unter Windows") oder/var/www/bluespice
(Linux). - Der Platzhalter
<tomcat-webapps>
steht stellvertretend für den Pfad zum Webapps-Verzeichnis Ihres Tomcat-Servers, z.B.C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps
(Windows) oder/var/lib/tomcat9/webapps
(Linux).
Linux vs. Windows
Bitte beachten Sie generell, dass BlueSpice bei identischer Hardwareausstattung erfahrungsgemäß auf Linux-Servern performanter läuft als unter Windows-Servern.
Cache-Directory angeben
Dies zwingt BlueSpice, das Filesystem und nicht die Datenbank für einige interne Caches zu verwenden.
Erstellen Sie hierzu die Datei <installpath-bluespice>
/settings.d/001-Directories.php und fügen Sie dort folgenden Inhalt ein:
<?php
$wgCacheDirectory = "$IP/cache";
</syntaxhighlightt
Speichern und schließen Sie die Datei.
{{Hinweisbox|boxtype=Hinweis|Note text=Beachten Sie, dass das Verzeichnis "cache" in <code><installpath-bluespice></code> durch den Webserver beschreibbar sein muss. Nähere Informationen erhalten Sie auf der Seite [[Setup:Installationsanleitung/Sicherheitseinstellungen/Dateisystemrechte|Dateisystemrechte]].}}
==Namensauflösung der Datenbank==
Sofern Sie dies nicht beim Setup von MediaWiki bereits beachtet haben sorgen Sie dafür, dass der Datenbankserver, sollte er auf dem selben Server wie BlueSpice liegen, möglichst über die IP angesprochen wird. Insbesondere Windows hat sehr oft Probleme beim Auflösen von "localhost".
Öffnen Sie hierzu <code><installpath-bluespice></code>/LocalSettings.php und suchen die Variable '''$wgDBserver'''. Die Zeile sollte im Idealfall lauten
<syntaxhighlight lang="php">
$wgDBserver = "127.0.0.1";
Beachten Sie hierbei, dass die Rechte am MySQL auch entsprechend auf "127.0.0.1" vergeben sind.
Memcached aktivieren
Erstellen Sie hierfür die Datei <installpath-bluespice>
/settings.d/001-Memcached.php und fügen Sie dort folgenden Inhalt ein:
<?php
$wgMainCacheType = CACHE_MEMCACHED;
$wgSessionCacheType = CACHE_DB;
$wgMemCachedServers = [ "127.0.0.1:11211" ];
Speichern und schließen Sie die Datei.
[[File:{{{file}}}|center]] | Voraussetzung hierfür ist ein installierter und konfigurierter Memcached-Server auf dem BlueSpice-Server. Informationen hierzu erhalten Sie auf der Seite Memcached. |
PHP Memory Limit erhöhen
Ein höheres Speicherlimit von PHP führt zu einer schnelleren Ausführung. Dies kann in der php.ini geändert werden. Suchen Sie dort nach folgender Option und passen Sie diese an:
memory_limit = 512M ''(entsp. 512 MB - je nach verfügbarem Arbeitsspeicher variabel)''
Nach dem Abspeichern und Schließen der php.ini muss der Webserver neu gestartet werden.
Bytecode Cache in PHP aktivieren
PHP liefert den Bytecode Cache "opcache" mit aus.
Dieser muss zunächst in der php.ini aktiviert werden. Überprüfen Sie dort, ob das Modul eingebunden ist. Dies erfolgt über die Zeile
zend_extension=opcache.dll (Windows)
zend_extension=opcache.so (Linux)
[[File:{{{file}}}|center]] | Beachten Sie unter Linux bitte zusätzlich die jeweiligen Vorgaben des jeweiligen Distributors zum Aktivieren von PHP-Modulen. |
Nehmen Sie folgende Konfiguration des opcache in der php.ini vor. Im Regelfall sollten alle Optionen bereits vorhanden, aber mit Semikolon (;) am Zeilenanfang auskommentiert sein. Suchen Sie die jeweilige Option in der php.ini, entfernen das Semikolon am Zeilenanfang und passen Sie die Einstellungen wie folgt an:
opcache.enable=1
opcache.memory_consumption=512 ''(entsp. 512 MB - je nach verfügbarem Arbeitsspeicher variabel)''
opcache.max_accelerated_files=5000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
Nach dem Abspeichern und Schließen der php.ini muss der Webserver neu gestartet werden.
Deaktivieren der JobQueue
Dafür lesen Sie bitte den Abschnitt runJobs.php im Artikel über Cronjobs