Zum Inhalt springen

MediaWiki/Performance: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 28: Zeile 28:
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu.  
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu.  
* Das Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung drastisch.  
* Das Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung drastisch.  
* [https://www.mediawiki.org/wiki/Manual:Varnish_caching<nowiki> 1]
* https://www.mediawiki.org/wiki/Manual:Varnish_caching
* [</nowiki>https://www.mediawiki.org/wiki/Manual:Performance_tuning 2]
* https://www.mediawiki.org/wiki/Manual:Performance_tuning 2


; OPcache
; OPcache
Zeile 37: Zeile 37:
; APCu
; APCu
Installieren Sie die APCu-PHP-Erweiterung für schnelles, lokales Objekt-Caching.  
Installieren Sie die APCu-PHP-Erweiterung für schnelles, lokales Objekt-Caching.  
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca 1],
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca 1]
* [https://wiki.centos-webpanel.com/improve-website-performance 2]
* [https://wiki.centos-webpanel.com/improve-website-performance 2]
* [https://www.mediawiki.org/wiki/Manual:Varnish_caching 3]]
* [https://www.mediawiki.org/wiki/Manual:Varnish_caching 3]]

Version vom 16. Juni 2026, 08:30 Uhr

MediaWiki/Performance

Beschreibung

  • Stellen Sie sicher, dass Ihrem Webserver und PHP genügend Arbeitsspeicher zugewiesen ist.
  • Es gibt eine Vielzahl von Caching-Tools
    • die in Verbindung mit MediaWiki (und untereinander) verwendet werden können(Varnish und Memcached.
Alle Optionen für das Caching
Nginx oder Lighttpd
  • Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern.

Um die CPU-Auslastung von MediaWiki zu reduzieren, entlasten Sie den Server, indem Sie

  • PHP OPcache aktivieren,
  • Objekt-Caching
  • APCu/Memcached installieren
  • ressourcenintensive Bot-Crawler blockieren
Ziele

Diese Änderungen verhindern, dass Ihr Server bei jedem Besuch Seiten ständig neu rendert und Skripte neu kompiliert

  • <nowiki> 1
  • [mediawikiwiki:Manual:Performance_tuning|2]
  • 3]

PHP-Caching aktivieren

PHP-Caching aktivieren (unbedingt erforderlich)

PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu.

OPcache

Stelle sicher, dass OPcache in deiner php.ini-Datei aktiviert ist.

  • Setzen Sie opcache.enable=1 und weisen Sie ausreichend Speicher zu (z. B. opcache.memory_consumption=128).
APCu

Installieren Sie die APCu-PHP-Erweiterung für schnelles, lokales Objekt-Caching.

Objekt- und Hauptcache

MediaWiki-Objekt- und Hauptcache konfigurieren

Verhindere, dass MediaWiki bei häufig abgerufenen Daten wiederholt auf die Datenbank zugreift. [1]* Öffne deine LocalSettings.php-Datei und füge Folgendes hinzu:

$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

== Ressourcenintensive Erweiterungen

Ressourcenintensive Erweiterungen anpassen

Komplexe Erweiterungen wie ‚‘'Semantic MediaWiki (SMW)‚‘' können beim Laden von Seiten zu einer erheblichen Serverbelastung führen. [1]* Wenn du SMW verwendest, aktiviere das ‚‘'Abfrage-Caching'‚‘, um zu verhindern, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden. Füge dies zu LocalSettings.php hinzu:

$smwgEnableCache = true;

Deaktiviere unnötige Zähler

Unnötige Zähler Deaktiviere

Das Erfassen von Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen.

Wenn du keine Seitenstatistiken benötigst, kannst du den Seitenzähler deaktivieren, indem du Folgendes in LocalSettings.php einfügst:

$wgDisableCounters = true;

== PHP-FPM / FastCGI

PHP-FPM / FastCGI optimieren

Wenn deine PHP-FPM-Prozesse aufgrund hohen Datenverkehrs übermäßig viel CPU-Leistung beanspruchen, begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben.

Konfigurieren Sie in Ihrer php-fpm.conf oder Pool-Konfiguration pm.max_requests, um Prozesse zu aktualisieren (z. B. pm.max_requests = 500).

Eine umfassendere Anleitung zur Skalierung finden Sie im offiziellen MediaWiki-Handbuch zur Leistungsoptimierung. [1]

  • Welche ‚‘'Erweiterungen'‚‘ (wie Semantic MediaWiki) sind derzeit aktiv? [1]

Installation

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Projekt