MediaWiki/Performance: Unterschied zwischen den Versionen
| Zeile 8: | Zeile 8: | ||
** https://www.mediawiki.org/wiki/Manual:Varnish_caching | ** https://www.mediawiki.org/wiki/Manual:Varnish_caching | ||
; CPU-Auslastung | ; CPU-Auslastung reduzieren | ||
* PHP OPcache aktivieren | * PHP OPcache aktivieren | ||
* Objekt-Caching | * Objekt-Caching | ||
| Zeile 14: | Zeile 14: | ||
* ressourcenintensive Bot-Crawler blockieren | * ressourcenintensive Bot-Crawler blockieren | ||
; Nginx oder Lighttpd | ; Alternative Webserver | ||
Nginx oder Lighttpd | |||
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern | * Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern | ||
| Zeile 26: | Zeile 27: | ||
* 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 | * https://www.mediawiki.org/wiki/Manual:Varnish_caching | ||
* https://www.mediawiki.org/wiki/Manual:Performance_tuning | * https://www.mediawiki.org/wiki/Manual:Performance_tuning | ||
; OPcache | ; OPcache | ||
| Zeile 36: | Zeile 37: | ||
* [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] | ||
== Objekt- und Hauptcache == | == Objekt- und Hauptcache == | ||
| Zeile 46: | Zeile 47: | ||
$wgSessionCacheType = CACHE_ACCEL; | $wgSessionCacheType = CACHE_ACCEL; | ||
* [[ | * [[mediawikiwiki:Manual:$wgMainCacheType|1]] | ||
* [https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 2] | * [https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 2] | ||
* [https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/ 3 | * [https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/ 3] | ||
== Bots und Crawler == | == Bots und Crawler == | ||
; Bots und Crawler optimieren | ; Bots und Crawler optimieren | ||
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie <code>api.php</code> oder <code>index.php?action=history</code>) indexieren und Ihre CPU überlasten. | Aggressive Suchmaschinen-Bots können dynamische Seiten (wie <code>api.php</code> oder <code>index.php?action=history</code>) indexieren und Ihre CPU überlasten. | ||
* [https://github.com/bitnami/charts/issues/3138 | * [https://github.com/bitnami/charts/issues/3138 1] | ||
* [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 2 | * [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 2] | ||
Erstelle oder aktualisiere eine strenge <code>robots.txt</code>-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren. | Erstelle oder aktualisiere eine strenge <code>robots.txt</code>-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren. | ||
| Zeile 63: | Zeile 64: | ||
Disallow: /w/api.php Disallow: /w/index.php | Disallow: /w/api.php Disallow: /w/index.php | ||
* | * [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 1] | ||
== Ressourcenintensive Erweiterungen | ==== Ressourcenintensive Erweiterungen ==== | ||
; Ressourcenintensive Erweiterungen anpassen | ; Ressourcenintensive Erweiterungen anpassen | ||
Komplexe Erweiterungen wie ‚‘'Semantic MediaWiki (SMW)‚‘' können beim Laden von Seiten zu einer erheblichen Serverbelastung führen. | Komplexe Erweiterungen wie ‚‘'Semantic MediaWiki (SMW)‚‘' können beim Laden von Seiten zu einer erheblichen Serverbelastung führen. | ||
* [https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 1] | |||
Abfrage-Caching | |||
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 <code>LocalSettings.php</code> hinzu: | |||
$smwgEnableCache = true; | $smwgEnableCache = true; | ||
| Zeile 74: | Zeile 81: | ||
; Unnötige Zähler Deaktiviere | ; Unnötige Zähler Deaktiviere | ||
Das Erfassen von Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen. | Das Erfassen von Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen. | ||
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k|1 | * [[mediawikiwiki:Topic:Rncjbh4poqojjt9k|1]] | ||
Wenn du keine Seitenstatistiken benötigst, kannst du den Seitenzähler deaktivieren, indem du Folgendes in <code>LocalSettings.php</code> einfügst: | Wenn du keine Seitenstatistiken benötigst, kannst du den Seitenzähler deaktivieren, indem du Folgendes in <code>LocalSettings.php</code> einfügst: | ||
$wgDisableCounters = true; | $wgDisableCounters = true; | ||
== PHP-FPM / FastCGI | ==== PHP-FPM / FastCGI ==== | ||
; PHP-FPM / FastCGI optimieren | ; 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. | 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. | ||
* [ | * [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k|1]] | ||
* [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 2 | * [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 2] | ||
Konfigurieren Sie in Ihrer <code>php-fpm.conf</code> oder Pool-Konfiguration <code>pm.max_requests</code>, um Prozesse zu aktualisieren (z. B. <code>pm.max_requests = 500</code>). | Konfigurieren Sie in Ihrer <code>php-fpm.conf</code> oder Pool-Konfiguration <code>pm.max_requests</code>, um Prozesse zu aktualisieren (z. B. <code>pm.max_requests = 500</code>). | ||
Skalierung | |||
Eine umfassendere Anleitung zur Skalierung finden Sie im offiziellen [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]. [<nowiki/>[[mediawikiwiki:Manual:Performance_tuning|1]]] | Eine umfassendere Anleitung zur Skalierung finden Sie im offiziellen [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]. [<nowiki/>[[mediawikiwiki:Manual:Performance_tuning|1]]] | ||
* Welche ‚‘'Erweiterungen'‚‘ (wie Semantic MediaWiki) sind derzeit aktiv? | * Welche ‚‘'Erweiterungen'‚‘ (wie Semantic MediaWiki) sind derzeit aktiv? | ||
* *[https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 1] | |||
Version vom 16. Juni 2026, 08:47 Uhr
MediaWiki/Performance
Beschreibung
- Ressourcen
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)
- https://www.mediawiki.org/wiki/Manual:Varnish_caching
- CPU-Auslastung reduzieren
- PHP OPcache aktivieren
- 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
- Alle Optionen für das Caching
- https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm
PHP-Caching aktivieren
- PHP-Caching aktivieren (unbedingt erforderlich)
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu.
- Das Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung drastisch.
- https://www.mediawiki.org/wiki/Manual:Varnish_caching
- https://www.mediawiki.org/wiki/Manual:Performance_tuning
- OPcache
Stelle sicher, dass OPcache in deiner php.ini-Datei aktiviert ist.
- Setzen Sie
opcache.enable=1und 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.
Abfrage-Caching
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).
Skalierung
Eine umfassendere Anleitung zur Skalierung finden Sie im offiziellen MediaWiki-Handbuch zur Leistungsoptimierung. [1]
- Welche ‚‘'Erweiterungen'‚‘ (wie Semantic MediaWiki) sind derzeit aktiv?
- *1
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks