MediaWiki/Performance: Unterschied zwischen den Versionen

Aus Foxwiki
Wechseln zu:Navigation, Suche
Zeile 161: Zeile 161:


= TMP =
= TMP =
== Maßnahmen zur Leistungssteigerung ==
; Caching
Objekt-Cache
* Verwendung von Memcached oder Redis ist essenziell für die Zwischenspeicherung von Datenbankabfragen
Parser-Cache
* wgParserCacheType sollte auf ein schnelles Medium (z. B. Redis) eingestellt sein
Varnish
* Der Einsatz von Varnish-HTTP-Cache vor dem Webserver (wie bei Wikipedia) ist hocheffizient für anonyme Zugriffe
Lokaler Cache
* Verwendung von APCu für lokale Zwischenspeicherung auf dem Server
; Datenbank-Optimierung
* Regelmäßige Wartung, Indizierung und ggf. Trennung von Web- und Datenbankservern
; Extensions & Parser
* Unnötige Erweiterungen deaktivieren, da diese oft die Hauptursache für Verlangsamungen sind
* Parser-Profiling-Metriken (wgPageParseReport) nutzen, um langsame Seiten zu identifizieren
; Konfiguration
* $wgMainCacheType und $wgSessionCacheType korrekt auf einen zentralen Cache (z. .B.  Memcached) einstellen, besonders bei mehreren Webservern
* Job-Queue optimieren, um Hintergrundaufgaben nicht die Live-Performance beeinträchtigen zu lassen
; Leistungsüberwachung
* Die Wikimedia Performance-Initiative bietet Tools zur Analyse und Verbesserung
* Die Extension [https://www.mediawiki.org/wiki/Help:Extension:PerformanceInspector PerformanceInspector] hilft, Engpässe bei Parser-Metriken, Modulen und Bildern zu erkennen
* Regelmäßige Leistungstests (Performance Reviews) sind bei umfangreichen Änderungen empfehlenswert
Durch diese Maßnahmen können Seitenladezeiten, insbesondere bei großen Wikis, von über einer Sekunde auf wenige Millisekunden gesenkt werden
<noinclude>
</noinclude>

Version vom 19. Oktober 2026, 15:53 Uhr

MediaWiki/Performance - Leistungsoptimierungen für MediaWiki

Beschreibung

Bereiche
  • Caching (Memcached, Redis)
  • Datenbankoptimierung
  • Deaktivieren ungenutzter Erweiterungen
Wichtige Maßnahmen
  • Object-Caching
  • Varnish für anonyme Nutzer
  • Optimieren der MySQL/MariaDB-Datenbank
  • Pflege einer effizienten Job-Queue

Die Wikimedia Performance-Initiative überwacht diese Faktoren kontinuierlich, um eine hohe Benutzererfahrung zu gewährleisten

Ressourcen

Webserver und PHP genügend Arbeitsspeicher und CPU-Kapazität zuweisen

Caching-Tools
CPU-Auslastung reduzieren
  • PHP
  • OPcache
  • Objekt-Caching
  • APCu/Memcached installieren
  • ressourcenintensive Bot-Crawler blockieren
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

PHP-Caching

PHP-Caching aktivieren (unbedingt erforderlich)

PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu

OPcache

OPcache in der php.ini-Datei aktivieren

  • opcache.enable=1
  • opcache.memory_consumption=128
APCu

APCu-PHP-Erweiterung installieren

Objekt- und Hauptcache

MediaWiki-Objekt- und Hauptcache konfigurieren

Datenbankabfragen zwischensoeichern

LocalSettings.php
$wgMainCacheType = CACHE_ACCEL;
$wgParserCacheType = CACHE_ACCEL;
$wgSessionCacheType = CACHE_ACCEL;

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

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

php-fpm.conf
pm.max_requests = 500
Skalierung

Anleitung zur Skalierung

Erweiterungen

Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?


Anhang

Siehe auch



Dokumentation

Projekt

  1. https://www.mediawiki.org/wiki/Manual:Performance_tuning
  2. https://www.mediawiki.org/wiki/Manual:Varnish_caching


TMP