Performanz verbessern


BlueSpice ist wie MediaWiki optimiert auf schnelle Lesezugriffe. Sollte BlueSpice einmal langsam laufen, kann das unterschiedliche Gründe haben. Häufig ist die Suchmaschine nicht eingerichtet oder der dazugehörige Tomcat-Server ist nicht erreichbar. Ebenso kann eine falsche Konfiguration (z.B. Caches) die Ursache sein. Oder der Leistung des Servers ist zu niedrig.

In diesem Howto finden sie die wichtigsten Lösungen zur Steigerung der Geschwindigkeit ihrer BlueSpice-Instanz.

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).

Apache Tomcat Server nicht erreichbar

BlueSpice verwendet die Suchmaschine Apache Lucene / Solr, die wichtige Funktionen im Wiki übernimmt. Sollten das Speichern einer Seite lange dauern, ist das ein Indiz, dass Sie ein Problem mit der Suchmaschine haben. Wahlweise kann man einfach einmal eine Suchanfrage eingeben. Sollte die Eingabe und die Suchseite nicht so aussehen wie hier beschrieben, ist die Suchmaschine nicht richtig installiert.

  • Bitte prüfen Sie mit der Installationsanleitung, ob Sie die Installation vollständig durchgeführt haben.
  • Starten Sie den Apache Tomcat Server neu.

Maßnahmen zur Steigerung der Performanz

Cache-Directory angeben

Wenn Sie ein Cache-Directory angeben, verwendet das Wiki statt der Datenbank das Filesystem für einige interne Caches

## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publically accessible from the web.
$wgCacheDirectory = "$IP/cache";

Bitte achten Sie darauf, dass der hier angegebene Ordner cache von Ihrem Webserver beschrieben werden darf. Siehe hierzu auch die Hinweise in der Installationsanleitung.

Mehr dazu: https://www.mediawiki.org/wiki/Manual:$wgCacheDirectory

Namensauflösung des Datenbankservers anpassen

Besonders unter Windows kann die Namensauflösung von "localhost" zu Verzögerungen führen. Verwenden Sie daher die IP-Adresse anstelle des DNS-Namens bei der Datenbank. Dazu in LocalSettings.php die Server-Konfiguration entsprechend ändern:

$wgDBserver = "127.0.0.1"; #change IP value to your DB server IP

Memcached aktivieren

Verwenden Sie Memcached als zentralen Cache-Typ. Beachten Sie, dass Memchached auf dem Server installiert und aktiv sein muss!

Dazu in LocalSettings.php diese Konfiguration am Ende einfügen:

  $wgMainCacheType = CACHE_MEMCACHED;
  $wgMemCachedServers = array( "127.0.0.1:11233" );

Bytecode Cache in PHP aktivieren

Seit PHP 5.5 wird der Bytecode Cache opcache mit ausgeliefert. Dieser muss jedoch in der php.ini aktiviert werden.

 opcache.enable=1

Zusätzliche Einstellungen:

 opcache.memory_consumption=512
 opcache.max_accelerated_files=10000
 opcache.validate_timestamps=1
 opcache.revalidate_freq=2

Nach einer Änderung der php.ini muss der Webserver neu gestartet werden.

Mehr dazu: http://php.net/manual/de/opcache.configuration.php und http://www.hostingadvice.com/how-to/enable-php-5-5-opcache-ubuntu-14-04/

PHP Memory Limit erhöhen

Ein höheres Speicherlimit von PHP führt zu einer schnelleren Ausführung. Dies muss in der php.ini angegeben werden:

memory_limit = 256M

Nach einer Änderung der php.ini muss der Webserver neu gestartet werden.

JobQueue einrichten

Einige Aufgaben von MediaWiki können verzögert ausgeführt werden. Normalerweise werden sie mit dem Aufruf von Seiten im Wiki abgearbeitet. Das kann zu Verzögerungen führen. Um diese zu verhindern, muss die JobQueue eingerichtet werden. Erstellen Sie einen cronjob oder task, der alle 10 Minuten dieses Script ausführt:

php maintenance/runJobs.php --maxjobs 100

Erneuerung des L10N Caches

Nur im absoluten Notfall kann man den Lokalisierungscache manuell erneuern lassen sonst wird dieser bei jede Seitenaufruf neu geschrieben. Dazu in LocalSettings.php diese Konfiguration am Ende einfügen:

$wgLocalisationCacheConf['manualRecache'] = true;

Danach führen Sie folgenden Befehl aus:

php /maintenance/rebuildLocalisationCache.php --force --lang="de,de-formal,en"

Dieser Befehl sollte dann auch als stündlicher Cronjob eingerichtet werden.

Mehr dazu: https://www.mediawiki.org/wiki/Manual:$wgLocalisationCacheConf

Verwandte Themen

Anhänge

Diskussionen