Zum Inhalt springen

MediaWiki/Performance: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
== Beschreibung ==
== Beschreibung ==
; Ressourcen
; Ressourcen
Arbeitsspeicher
[[Webserver]] und [[PHP]] genügend [[Arbeitsspeicher]] und [[CPU-Kapazität]] zuweisen
* Stellen Sie sicher, dass Ihrem [[Webserver]] und [[PHP]] genügend Arbeitsspeicher zugewiesen ist


; Caching-Tools
; Caching-Tools
* Es gibt eine Vielzahl von Caching-Tools
* [[Varnish]]
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])
* [[Memcached]]
** https://www.mediawiki.org/wiki/Manual:Varnish_caching
* https://www.mediawiki.org/wiki/Manual:Varnish_caching


; CPU-Auslastung reduzieren
; CPU-Auslastung reduzieren
* PHP OPcache aktivieren
* [[PHP]]
* [[OPcache]]
* Objekt-Caching
* Objekt-Caching
* APCu/Memcached installieren  
* APCu/Memcached installieren  
Zeile 100: Zeile 100:
== PHP-FPM / FastCGI ==
== PHP-FPM / FastCGI ==
; PHP-FPM / FastCGI optimieren
; PHP-FPM / FastCGI optimieren
Wenn [[PHP-FPM]]-Prozesse
Wenn [[PHP-FPM]]-Prozesse übermäßig viel CPU-Leistung beanspruchen
* aufgrund hohen Datenverkehrs
* Laufzeit des Prozesses bgrenzen, bevor er recycelt wird, um Speicher freizugeben  
* übermäßig viel CPU-Leistung beanspruchen
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben.
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm


; php-fpm.conf
; php-fpm.conf
Pool-Konfiguration
* um Prozesse zu aktualisieren
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
pm.max_requests = 500
pm.max_requests = 500

Aktuelle Version vom 17. Juni 2026, 20:18 Uhr

MediaWiki/Performance - Leistungsoptimierungen für MediaWiki

Beschreibung

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:Varnish_caching