MediaWiki/Performance: Unterschied zwischen den Versionen
| Zeile 2: | Zeile 2: | ||
== Beschreibung == | == 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, wie Varnish und Memcached. | |||
Alle Optionen für das Caching finden Sie hier: | |||
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning https://www.mediawiki.org/wiki/Manual:Performance_tuning ] | |||
* 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 den robusten ‚‘'PHP OPcache'‚‘' aktivieren, das Objekt-Caching ‚‘'APCu/Memcached'‚‘ installieren und ressourcenintensive Bot-Crawler blockieren. Diese Änderungen verhindern, dass Ihr Server bei jedem Besuch Seiten ständig neu rendert und Skripte neu kompiliert. [[https://www.mediawiki.org/wiki/Manual:Varnish_caching<nowiki> 1], </nowiki> [[mediawikiwiki:Manual:Performance_tuning|2]], [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 3]] | |||
1. 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<nowiki> 1], [</nowiki>https://www.mediawiki.org/wiki/Manual:Performance_tuning 2]]* ‚‘'OPcache:‚‘' Stelle sicher, dass OPcache in deiner <code>php.ini</code>-Datei aktiviert ist. Setzen Sie <code>opcache.enable=1</code> und weisen Sie ausreichend Speicher zu (z. B. <code>opcache.memory_consumption=128</code>). | |||
* ‚‘'APCu:‚‘' Installieren Sie die APCu-PHP-Erweiterung für schnelles, lokales Objekt-Caching. [[https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca<nowiki> 1], </nowiki>[https://wiki.centos-webpanel.com/improve-website-performance 2], [https://www.mediawiki.org/wiki/Manual:Varnish_caching 3]] | |||
2. MediaWiki-Objekt- und Hauptcache konfigurieren | |||
Verhindere, dass MediaWiki bei häufig abgerufenen Daten wiederholt auf die Datenbank zugreift. [[https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 1]]* Öffne deine <code>LocalSettings.php</code>-Datei und füge Folgendes hinzu: | |||
php | |||
$wgMainCacheType = CACHE_ACCEL; | |||
$wgParserCacheType = CACHE_ACCEL; | |||
$wgSessionCacheType = CACHE_ACCEL; | |||
Verwende diesen Code mit Vorsicht. | |||
[[https://www.mediawiki.org/wiki/Manual:$wgMainCacheType<nowiki> 1], </nowiki>[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]] | |||
3. 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. [[https://github.com/bitnami/charts/issues/3138<nowiki> 1], [</nowiki>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. | |||
* Beispielregeln: text User-agent: * Disallow: /wiki/Special: Disallow: /w/api.php Disallow: /w/index.php Verwende Code mit Vorsicht. [[https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 1]] | |||
4. Passen Sie ressourcenintensive Erweiterungen an | |||
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]]* 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: | |||
php | |||
$smwgEnableCache = true; | |||
Verwende Code mit Vorsicht. | |||
5. Deaktiviere unnötige Zähler | |||
Das Erfassen von Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen. [<nowiki/>[[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: | |||
php | |||
$wgDisableCounters = true; | |||
Verwende Code mit Vorsicht. | |||
6. 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. [[https://www.mediawiki.org/wiki/Topic:U1sl12b4w1gkbh2k<nowiki> 1], [</nowiki>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>). | |||
Eine umfassendere Anleitung zur Skalierung finden Sie im offiziellen [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]. [<nowiki/>[[mediawikiwiki:Manual:Performance_tuning|1]]] | |||
Wenn Sie möchten, teilen Sie mir bitte weitere Details zu Ihrer Konfiguration mit:* Verwenden Sie ‚‘'Apache oder Nginx'‚‘? | |||
* 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]] | |||
== Installation == | == Installation == | ||
Version vom 16. Juni 2026, 08:04 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, wie Varnish und Memcached.
Alle Optionen für das Caching finden Sie hier:
- 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 den robusten ‚‘'PHP OPcache'‚‘' aktivieren, das Objekt-Caching ‚‘'APCu/Memcached'‚‘ installieren und ressourcenintensive Bot-Crawler blockieren. Diese Änderungen verhindern, dass Ihr Server bei jedem Besuch Seiten ständig neu rendert und Skripte neu kompiliert. [ 1], 2, [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 3]
1. PHP-Caching aktivieren (unbedingt erforderlich)
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. Das Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung drastisch. [ 1], [https://www.mediawiki.org/wiki/Manual:Performance_tuning 2]* ‚‘'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. [ 1], [https://wiki.centos-webpanel.com/improve-website-performance 2, 3]
2. 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:
php
$wgMainCacheType = CACHE_ACCEL;
$wgParserCacheType = CACHE_ACCEL;
$wgSessionCacheType = CACHE_ACCEL;
Verwende diesen Code mit Vorsicht.
[ 1], [https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 2, 3]
3. Bots und Crawler optimieren
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie api.php oder index.php?action=history) indexieren und Ihre CPU überlasten. [ 1], [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 2]* 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 Verwende Code mit Vorsicht. [1]
4. Passen Sie ressourcenintensive Erweiterungen an
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:
php
$smwgEnableCache = true;
Verwende Code mit Vorsicht.
5. Deaktiviere unnötige Zähler
Das Erfassen von Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen. [1]* Wenn du keine Seitenstatistiken benötigst, kannst du den Seitenzähler deaktivieren, indem du Folgendes in LocalSettings.php einfügst:
php
$wgDisableCounters = true;
Verwende Code mit Vorsicht.
6. 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. [ 1], [https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm 2]* 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]
Wenn Sie möchten, teilen Sie mir bitte weitere Details zu Ihrer Konfiguration mit:* Verwenden Sie ‚‘'Apache oder Nginx'‚‘?
- 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
Links
Projekt
Weblinks