Keine Kategorien vergeben

Performance-Optimierungen

Vorwort

Um zusätzlich die Performance von BlueSpice zu optimieren, können wir unterschiedliche Konfigurationen empfehlen, die im folgenden aufgezeigt werden:

PHP

opcache

Aktivieren Sie die Zend-Erweiterung opcache in PHP. In der php.ini empfehlen wir folgende Konfiguration:

opcache.enable=1
opcache.memory_consumption=512
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.optimization_level=0x7FFF9FFF

Weitere Informationen finden Sie in der offiziellen PHP-Dokumentation

gzip

Aktivieren Sie die Erweiterung zlib. In der php.ini empfehlen wir folgende Konfiguration:

zlib.output_compression = On
zlib.output_compression_level = 9

Weitere Informationen finden Sie in der offiziellen PHP-Dokumentation

MySQL (MariaDB)

Stimmen Sie MySQL bzw. MariaDB direkt auf Ihren Arbeitsspeicher und Ihre CPU-Kerne ab. Hierzu nehmen Sie folgende Konfiguration in Ihrer my.ini vor:

[mysqld]

; bei 16GB RAM
innodb_buffer_pool_size=4096M
tmp-table-size=1024M
max-heap-table-size=1024M
query_cache_size=1024M

; bei 12 CPU-Kernen
innodb-buffer-pool-instances=12
max_connections=12000

; Benutzen Sie ausschließlich "127.0.0.1", nicht "localhost" beim Zugriff auf MySQL
; Bedenken Sie, dies dann auch in der Variablen $wgDBserver in der LocalSettings.php zu ändern.
skip-name-resolve

ManualRecache des LanguageCache

Um das Rebuilden des LocalisationCache mit jedem Seitenaufruf zu unterbinden führen Sie folende Konfiguration durch:

Legen Sie im Ordner settings.d Ihrer Codebase die Datei 006-ManualRecache.php mit folgendem Inhalt an:

<?php

$wgLocalisationCacheConf = [
	'class' => LocalisationCache::class,
	'store' => 'array',
	'storeClass' => false,
	'storeDirectory' => $wgCacheDirectory,
	'manualRecache' => true,
];

Löschen Sie anschließend im Ordner cache Ihrer Codebase alle vorhandenen Dateien. Danach legen Sie den LocalisationCache einmal manuell neu an durch folgende Eingabe auf Ihrer Konsole:

php /pfad/zur/installation/maintenance/rebuildLocalisationCache.php --force

Sorgen Sie zuletzt dafür, dass dies regelmäßig per Cronjob ("Aufgabenplanung" unter Windows) im Hintergrund ausgeführt wird. Wir empfehlen dies zweimal täglich, bspw. um 6 und um 18 Uhr.


Achten Sie darauf, dass die Variable $wgCacheDirectory gesetzt ist. Dies ist bei BlueSpice in der Standard-Auslieferung bereits in der Datei settings.d/005-Directories.php der Fall.

Anhänge

Diskussionen