MediaWiki/Performance: Unterschied zwischen den Versionen
K Textersetzung - „[[Kategorie:/“ durch „[[Kategorie:“ |
|||
| (50 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''MediaWiki/Performance''' - Leistungsoptimierungen für [[MediaWiki]] | |||
== Beschreibung == | |||
; Ressourcen | |||
[[Webserver]] und [[PHP]] genügend [[Arbeitsspeicher]] und [[CPU-Kapazität]] zuweisen | |||
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung | ; Caching-Tools | ||
* [[Varnish]] | |||
* [[Memcached]] | |||
* https://www.mediawiki.org/wiki/Manual:Varnish_caching | |||
; 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 | |||
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching] | |||
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm | |||
== PHP-Caching == | |||
; PHP-Caching aktivieren (unbedingt erforderlich) | |||
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. | |||
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung | |||
* https://www.mediawiki.org/wiki/Manual:Varnish_caching | |||
* https://www.mediawiki.org/wiki/Manual:Performance_tuning | |||
; OPcache | |||
OPcache in der <code>php.ini</code>-Datei aktivieren | |||
* <code>opcache.enable=1</code> | |||
* <code>opcache.memory_consumption=128</code> | |||
; APCu | |||
APCu-PHP-Erweiterung installieren | |||
* schnelles, lokales Objekt-Caching | |||
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca | |||
* https://wiki.centos-webpanel.com/improve-website-performance | |||
* https://www.mediawiki.org/wiki/Manual:Varnish_caching | |||
== Objekt- und Hauptcache == | |||
; MediaWiki-Objekt- und Hauptcache konfigurieren | |||
Datenbankabfragen zwischensoeichern | |||
; LocalSettings.php | |||
<syntaxhighlight lang="bash" highlight="" line copy> | |||
$wgMainCacheType = CACHE_ACCEL; | |||
$wgParserCacheType = CACHE_ACCEL; | |||
$wgSessionCacheType = CACHE_ACCEL; | |||
</syntaxhighlight> | |||
* [[mediawikiwiki:Manual:$wgMainCacheType]] | |||
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 | |||
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/ | |||
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 | |||
== Bots und Crawler == | |||
; 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 | |||
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm | |||
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 | |||
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm | |||
== Erweiterungen == | |||
; Ressourcenintensive Erweiterungen anpassen | |||
Komplexe Erweiterungen wie ''Semantic MediaWiki (SMW)'' können von Seiten zu erheblicher Serverbelastung führen | |||
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 | |||
; 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 | |||
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]] | |||
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden | |||
; LocalSettings.php | |||
<syntaxhighlight lang="php" highlight="" copy> | |||
$wgDisableCounters = true; | |||
</syntaxhighlight> | |||
== PHP-FPM / FastCGI == | |||
; PHP-FPM / FastCGI optimieren | |||
Wenn [[PHP-FPM]]-Prozesse übermäßig viel CPU-Leistung beanspruchen | |||
* Laufzeit des Prozesses bgrenzen, bevor er recycelt wird, um Speicher freizugeben | |||
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]] | |||
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm | |||
; php-fpm.conf | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
pm.max_requests = 500 | |||
</syntaxhighlight> | |||
; Skalierung | |||
Anleitung zur Skalierung | |||
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]] | |||
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]] | |||
; Erweiterungen | |||
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv? | |||
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
<!-- | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# https://www.mediawiki.org/wiki/Manual:Varnish_caching | |||
<!-- | |||
{{DEFAULTSORT:new}} | |||
{{DISPLAYTITLE:new}} | |||
--> | |||
[[Kategorie:MediaWiki/Verwaltung]] | [[Kategorie:MediaWiki/Verwaltung]] | ||
</noinclude> | |||
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
- 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
- PHP-Caching aktivieren (unbedingt erforderlich)
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu.
- Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung
- https://www.mediawiki.org/wiki/Manual:Varnish_caching
- https://www.mediawiki.org/wiki/Manual:Performance_tuning
- OPcache
OPcache in der php.ini-Datei aktivieren
opcache.enable=1opcache.memory_consumption=128
- APCu
APCu-PHP-Erweiterung installieren
- schnelles, lokales Objekt-Caching
- https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca
- https://wiki.centos-webpanel.com/improve-website-performance
- https://www.mediawiki.org/wiki/Manual:Varnish_caching
Objekt- und Hauptcache
- MediaWiki-Objekt- und Hauptcache konfigurieren
Datenbankabfragen zwischensoeichern
- LocalSettings.php
$wgMainCacheType = CACHE_ACCEL;
$wgParserCacheType = CACHE_ACCEL;
$wgSessionCacheType = CACHE_ACCEL;
- mediawikiwiki:Manual:$wgMainCacheType
- https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166
- https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/
- https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166
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.
- https://github.com/bitnami/charts/issues/3138
- https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm
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
- Laufzeit des Prozesses bgrenzen, bevor er recycelt wird, um Speicher freizugeben
- php-fpm.conf
pm.max_requests = 500
- Skalierung
Anleitung zur Skalierung
- Erweiterungen
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks