Quali suggerimenti hai per accelerare (eseguire) un'installazione di MediaWiki?


8

Abbiamo un'installazione di MediaWiki e stiamo ricevendo lamentele sul fatto che sta diventando più lento. Come possiamo aumentare la velocità / prestazioni?

Ho un suggerimento (che aggiungerò di seguito) ma sono davvero interessato a saperne di più. Preferibilmente un suggerimento per risposta.



O il più completo e recente mediawiki.org/wiki/Manual:Performance_tuning
Nemo

Risposte:


4

Invece della memorizzazione nella cache della memoria, specialmente se il tuo sito è di dimensioni medio-piccole, quindi la dimensione totale di tutte le pagine hmtl non è un problema: una soluzione semplice è semplicemente attivare la cache dei file.

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

Ho trascorso diverse ore oggi cercando di attivare una delle soluzioni di memorizzazione nella cache consigliate da mediawiki sul mio hosting condiviso (su bluehost) e non ho trovato alcun modo per farlo, quindi ho scoperto questa opzione e risolto tutti i problemi.

Questa è la wiki con la memorizzazione dei file nella cache attivata:

http://robertinventor.com/bmwiki

Prima della memorizzazione nella cache dei file ci sono voluti diversi secondi per caricare la maggior parte delle pagine, e talvolta molto più a lungo, fino a pochi minuti secondo i registri di Google Analytics.


4

Alcuni ottimi consigli qui . Per me la cosa che ha fatto la differenza più grande (da 8 secondi a 0 su IIS 7) è stata abilitare la memorizzazione nella cache e la modifica $wgDBserver = "127.0.0.1";(da localhost). Per qualche motivo localhost veniva risolto tramite la rete.

Ecco l'intero post di Jaded:

  1. Uno dei maggiori impatti, ridurre il carico da 15 secondi a circa 6 o 7 è stato quello di abilitare la memorizzazione nella cache e l'accelerazione di Mediawiki, come dettagliato in questo post: http://www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-output-caching-and-friendlyshort-urls.aspx . In breve, abilitare quanto segue nel file localsettings.php di Mediawiki:

    $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();
    

    Assicurati che i tuoi account IUSR e IIS_IUSR locali dispongano delle autorizzazioni "Modifica" sulla directory della cache, altrimenti i file e le directory del motore di memorizzazione nella cache di Mediawiki non saranno in grado di scrivere su di essi.

  2. Ho apportato alcune piccole modifiche alla memorizzazione nella cache in PHP usando Wincache, ma questo non ha avuto alcun effetto: abilitarlo e configurarlo se lo si desidera da una prospettiva PHP, ma non aspettarsi un grande salto. La stessa cosa vale per la cache delle query MySQL: il mio sito Wiki è relativamente piccolo, con un utilizzo minimo, quindi la cache delle query MySQL non è stata un grande miglioramento.

  3. L'ultimo chiodo nella bara per rendere più veloce il sito stava modificando l'impostazione $ wgDBserver nel mio file Mediawiki LocalSettings.php. È stato impostato su "Localhost" e questo post http://forums.iis.net/t/1153459.aspx/3/10 ha suggerito che l'utilizzo di "Localhost" da Windows 7 in poi e dal Server 2008 in poi inizia a coinvolgere IPv6 in l'interrogazione della pagina. Il livello di trasporto doveva risolvere localhost e lo faceva negoziando tra un indirizzo IPv4 e un indirizzo IPv6, che PHP e MySQL dovevano risolvere prima di consentire il rendering della pagina. Sembra che questo non sia ancora un protocollo integrato pienamente supportato, quindi l'impostazione di $ wgDBserver sull'indirizzo IPv4 di "127.0.0.1" ha richiesto il rendering da 6 secondi a solo 1 secondo - problema risolto!



2

Prima di tutto devi assicurarti di utilizzare Apache Server '' '. Mediawiki è più lento se è stato installato su Windows Server o IIS. Se si trova su Windows Server, spostare le cartelle dell'applicazione su Linux Server. Guida ai server Windows e Linux per Mediawiki


0

Questo potrebbe non essere rilevante con le versioni attuali di MW, ma controlla l'impostazione php mbstring.func_overload. L'ho impostato su 2 (come requisito per una piccola installazione zabbix) e ha ucciso le prestazioni di un'installazione 1.12 di MW sullo stesso server.


grazie! Lo verificherò.
Ripristina Monica - Arrivederci SE

secondo: mediawiki.org/wiki/PHP_configuration mbstring.func_overload Questa opzione causa errori e può corrompere i dati in modo imprevedibile; MediaWiki rifiuterà l'installazione se questa opzione è attivata. Quindi suppongo che questo non sia applicabile.
Ripristina Monica - Arrivederci SE

0

Utilizzare un cacher php con codice operativo, assicurarsi che dB non sia il collo di bottiglia, prendere in considerazione l'utilizzo di un cacher http come la vernice.


puoi darmi qualche dettaglio in più qui? Ad esempio collegamenti, come sapere se il DB è il collo di bottiglia, che cos'è un cacher http? Non sono così ben informato dei dettagli del back-end.
Ripristina Monica - Arrivederci SE

Google per mysqltuner.pl o usa mysql-tuner.sh da day32.com/MySQL , ti diranno se hai bisogno di rinforzare i buffer, se le query funzionano lentamente ecc. Vernice è un servizio di tipo proxy inverso che può memorizzare nella cache pagine web dinamiche, la curva di apprendimento è un po 'ripida ma è un servizio di fascia alta, quindi vale davvero la pena dare un'occhiata. L'ordine di come dovresti indagare è (una parte dell'ovvio come il throughput di rete) probabilmente 1) opcode cacher 2) determina come db sta facendo / eseguendo e 3) vernice.
3

Mediawiki ha anche un articolo sulla memorizzazione nella cache con la vernice! mediawiki.org/wiki/Manual:Varnish_caching
3molo

Hai dimenticato di menzionare che mediawiki suggerisce anche di utilizzare memcached per la memorizzazione nella cache tra il database e il sito reale, vedi mediawiki.org/wiki/Memcached
3molo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.