MediaWiki/Performance
MediaWiki/Performance - Leistungsoptimierungen für MediaWiki
Beschreibung
- Ressourcen
Webserver und PHP genügend Arbeitsspeicher und CPU-Kapazität zuweisen
- Caching-Tools
- CPU-Auslastung reduzieren
- Alternative Webserver
Nginx oder Lighttpd
- Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern
- Links
- Alle Optionen für das Caching
- https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm
PHP-Caching
- PHP-Caching aktivieren (unbedingt erforderlich)
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu.
- Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung
- https://www.mediawiki.org/wiki/Manual:Varnish_caching
- https://www.mediawiki.org/wiki/Manual:Performance_tuning
- OPcache
OPcache in der php.ini-Datei aktivieren
opcache.enable=1opcache.memory_consumption=128
- APCu
APCu-PHP-Erweiterung installieren
- schnelles, lokales Objekt-Caching
- https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca
- https://wiki.centos-webpanel.com/improve-website-performance
- https://www.mediawiki.org/wiki/Manual:Varnish_caching
Objekt- und Hauptcache
- MediaWiki-Objekt- und Hauptcache konfigurieren
Datenbankabfragen zwischensoeichern
- LocalSettings.php
$wgMainCacheType = CACHE_ACCEL;
$wgParserCacheType = CACHE_ACCEL;
$wgSessionCacheType = CACHE_ACCEL;
- mediawikiwiki:Manual:$wgMainCacheType
- https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166
- https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/
- https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166
Bots und Crawler
- Bots und Crawler optimieren
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie api.php oder index.php?action=history) indexieren und Ihre CPU überlasten.
- https://github.com/bitnami/charts/issues/3138
- https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm
Erstelle oder aktualisiere eine strenge robots.txt-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.
- Beispielregeln
text User-agent:* Disallow: /wiki/Special: Disallow: /w/api.php Disallow: /w/index.php
Erweiterungen
- Ressourcenintensive Erweiterungen anpassen
Komplexe Erweiterungen wie Semantic MediaWiki (SMW) können von Seiten zu erheblicher Serverbelastung führen
- Abfrage-Caching
Abfrage-Caching bei SMW aktivieren
- verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden
LocalSettings.php
$smwgEnableCache = true;
Zähler
- Seitenzähler deaktivieren
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden
- LocalSettings.php
$wgDisableCounters = true;
PHP-FPM / FastCGI
- PHP-FPM / FastCGI optimieren
Wenn PHP-FPM-Prozesse übermäßig viel CPU-Leistung beanspruchen
- Laufzeit des Prozesses bgrenzen, bevor er recycelt wird, um Speicher freizugeben
- php-fpm.conf
pm.max_requests = 500
- Skalierung
Anleitung zur Skalierung
- Erweiterungen
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks