Welche Tipps haben Sie, um eine MediaWiki-Installation zu beschleunigen (durchzuführen)?

8

Wir haben eine MediaWiki-Installation und bekommen Beschwerden, dass sie langsamer wird. Wie können wir die Geschwindigkeit / Leistung erhöhen?

Ich habe einen Tipp (den ich unten hinzufügen werde), aber ich bin wirklich daran interessiert, mehr zu hören. Vorzugsweise ein Tipp pro Antwort.

Stellen Sie Monica wieder her - Auf Wiedersehen SE
quelle
1
Hier ist ein nützlicher Link, den ich gefunden habe: dom.as/2007/01/26/mediawiki-performance-tuning
Monica wieder herstellen - Goodbye SE
Oder das umfassendere und aktuellere mediawiki.org/wiki/Manual:Performance_tuning
Nemo

Antworten:

4

Anstelle von Speicher-Caching, insbesondere wenn Ihre Site klein bis mittelgroß ist, ist die Gesamtgröße aller hmtl-Seiten kein Problem. Eine einfache Lösung besteht darin, stattdessen nur den Datei-Cache einzuschalten.

http://www.mediawiki.org/wiki/Manual:File_cache

Ich habe heute mehrere Stunden damit verbracht, eine der von mediawiki empfohlenen Speicher-Caching-Lösungen auf meinem gemeinsam genutzten Hosting (bei bluehost) einzuschalten, und habe keine Möglichkeit dazu gefunden. Dann habe ich diese Option entdeckt und alle Probleme gelöst.

Dies ist das Wiki mit aktiviertem Datei-Caching:

http://robertinventor.com/bmwiki

Vor dem Zwischenspeichern von Dateien dauerte es einige Sekunden, bis die meisten Seiten geladen waren, und manchmal viel länger, bis zu Minuten, wie in den Google Analytics-Protokollen angegeben.

Robert Walker
quelle
4

Einige tolle Tipps hier . Für mich war der größte Unterschied (von 8 Sekunden auf 0 auf IIS 7) das Aktivieren des Zwischenspeicherns und Änderns $wgDBserver = "127.0.0.1";(von localhost). Aus irgendeinem Grund wurde localhost über das Netzwerk aufgelöst.

Hier ist der ganze Beitrag von Jaded:

  1. Eine der größten Auswirkungen bei der Reduzierung der Last von 15 Sekunden auf etwa 6 oder 7 war die Aktivierung des Mediawiki-Cachings und der Beschleunigung, wie in diesem Beitrag beschrieben: http://www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-output-caching-and-Friendlyshort-urls.aspx . Kurz gesagt, aktivieren Sie Folgendes in Ihrer Mediawiki-Datei "sitesettings.php":

    $wgCacheDirectory = "c:\your\path\to\cache";
    $wgFileCacheDirectory = "c:\your\path\to\cache ";
    $wgEnableSidebarCache = true;
    $wgUseFileCache = true;
    $wgShowIPinHeader = false;
    $wgEnableParserCache = true;
    $wgCachePages = true;
    
    $wgMainCacheType = CACHE_ACCEL;
    $wgMessageCacheType = CACHE_ACCEL;
    $wgParserCacheType = CACHE_ACCEL;
    $wgMemCachedServers = array();
    

    Stellen Sie sicher, dass Ihre lokalen IUSR- und IIS_IUSR-Konten über die Berechtigung "Ändern" für das Cache-Verzeichnis verfügen. Andernfalls können die Dateien und Verzeichnisse der Mediawiki-Caching-Engine nicht darauf schreiben.

  2. Ich habe einige kleinere Änderungen am Caching in PHP mit Wincache vorgenommen, aber das hatte kaum Auswirkungen - aktivieren und konfigurieren Sie es, wenn Sie es aus PHP-Sicht wünschen, aber erwarten Sie keinen größeren Sprung. Das Gleiche gilt für das Zwischenspeichern von MySQL-Abfragen - meine Wiki-Site ist relativ klein und wird nur minimal verwendet, sodass das Zwischenspeichern von MySQL-Abfragen keine große Verbesserung darstellt.

  3. Der letzte Nagel im Sarg, um die Site auf den neuesten Stand zu bringen, war das Ändern der Einstellung $ wgDBserver in meiner Datei Mediawiki LocalSettings.php. Es wurde auf "Localhost" gesetzt, und in diesem Beitrag http://forums.iis.net/t/1153459.aspx/3/10 wurde vorgeschlagen, "Localhost" ab Windows 7 zu verwenden und ab Server 2008 IPv6 einzubeziehen das Abfragen der Seite. Die Transportschicht musste localhost auflösen und handelte dabei zwischen einer IPv4- und einer IPv6-Adresse aus, die PHP und MySQL auflösen mussten, bevor die Seite gerendert werden konnte. Es scheint, dass dies immer noch kein vollständig unterstütztes integriertes Protokoll ist. Wenn Sie also $ wgDBserver auf die IPv4-Adresse "127.0.0.1" setzen, dauerte das Rendern von 6 Sekunden auf nur 1 Sekunde - Problem gelöst!

Sonic Soul
quelle
3

Aktivieren Sie das Caching in LocalSettings.php. Fügen Sie dazu diese Zeile hinzu oder ändern Sie sie:

$wgMainCacheType = CACHE_ACCEL;

Siehe Handbuch: Cache und diese mwusers-Seite .

Stellen Sie Monica wieder her - Auf Wiedersehen SE
quelle
2

Zunächst müssen Sie sicherstellen, dass Sie Apache Server '' 'verwenden. Mediawiki ist langsamer, wenn Sie auf Windows Server oder IIS installiert haben. Wenn es sich auf dem Windows Server befindet Verschieben Sie die Anwendungsordner auf den Linux Server. Windows- und Linux Server für Mediawiki-Handbuch

Viola
quelle
0

Dies ist bei aktuellen MW-Versionen möglicherweise nicht relevant, überprüfen Sie jedoch die PHP-Einstellung mbstring.func_overload. Ich habe es auf 2 gesetzt (als Voraussetzung für eine kleine zabbix-Installation) und es hat die Leistung einer 1.12-Installation von MW auf demselben Server beeinträchtigt.

SmallClanger
quelle
Danke! Werde es überprüfen.
Stellen Sie Monica wieder her - Goodbye SE
gemäß: mediawiki.org/wiki/PHP_configuration mbstring.func_overload Diese Option verursacht Fehler und kann Daten unvorhersehbar beschädigen. MediaWiki lehnt die Installation ab, wenn diese Option aktiviert ist. Ich denke, das ist nicht anwendbar.
Monica wieder einsetzen - Auf Wiedersehen SE
0

Verwenden Sie einen PHP-Opcode-Cacher. Stellen Sie sicher, dass dB nicht der Engpass ist. Verwenden Sie einen http-Cacher-ähnlichen Lack.

3molo
quelle
Kannst du mir hier etwas mehr Details geben? ZB Links, wie kann man wissen, ob die DB der Engpass ist, was ein http-Cacher ist? Ich kenne die Back-End-Details nicht so gut.
Stellen Sie Monica wieder her - Goodbye SE
Google für mysqltuner.pl oder verwenden Sie mysql-tuner.sh von day32.com/MySQL. Dort erfahren Sie, ob Sie Puffer aufrüsten müssen, ob Abfragen langsam ausgeführt werden usw. Varnish ist ein Reverse-Proxy-Dienst, der zwischengespeichert werden kann Bei dynamischen Webseiten ist die Lernkurve etwas steil, aber es handelt sich um einen High-End-Service. Es lohnt sich also, einen Blick darauf zu werfen. Die Reihenfolge, in der Sie Nachforschungen anstellen sollten, ist (ein Teil des offensichtlichen Netzwerkdurchsatzes) wahrscheinlich 1) Opcode-Cacher 2) Bestimmen, wie db funktioniert / funktioniert, und 3) Lackieren.
3molo
Mediawiki hat sogar einen Artikel über das Zwischenspeichern mit Lack! mediawiki.org/wiki/Manual:Varnish_caching
3molo
Ich habe vergessen zu erwähnen, dass mediawiki auch die Verwendung von memcached für das Caching zwischen der Datenbank und der tatsächlichen Site vorschlägt.
3molo