Zum Inhalt springen

MediaWiki/Performance: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 8: Zeile 8:
** https://www.mediawiki.org/wiki/Manual:Varnish_caching
** https://www.mediawiki.org/wiki/Manual:Varnish_caching


; CPU-Auslastung von MediaWiki reduzieren
; 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 2
* 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;


* [[https://www.mediawiki.org/wiki/Manual:$wgMainCacheType<nowiki> 1]
* [[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<nowiki> 1]
* [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]]
* [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. [[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:
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.  
* [https://www.mediawiki.org/wiki/Topic:U1sl12b4w1gkbh2k<nowiki> 1]
* [[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? [[https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166 1]]
* 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

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

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.

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

Projekt