Per accelerare un sito MediaWiki che ha contenuto che utilizza molti modelli, ma altrimenti ha praticamente un contenuto statico quando i modelli hanno fatto il loro lavoro Vorrei installare un calamaro Server vedereforzare la cache del calamaro mediawiki per riempire tutte le pagine
https://www.mediawiki.org/wiki/Manual:PurgeList.php
e
https://www.mediawiki.org/wiki/Manual:Squid_caching
e poi riempire la cache del server squid "automaticamente" utilizzando uno script facendo w chiamate get/curl che colpiscono tutte le pagine di Mediawiki. La mia aspettativa sarebbe che dopo questa procedura ogni singola pagina si trovi nella cache del calamaro (se lo faccio abbastanza grande) e poi ogni accesso sarebbe fatto da calamaro.
Come potrei farlo funzionare? Es .:
- Come posso controllare la mia configurazione?
- Come posso scoprire quanta memoria è necessaria?
- Come posso verificare che le pagine siano nella cache di Squid3?
Quello che ho provato finora
ho iniziato da scoprire come installare il calamaro utilizzando:
e
ho capito il mio indirizzo IP xx.xxx.xxx.xxx (non divulgate qui) via ifconfig eth0
in /etc/squid3/squid.conf ho messo
http port xx.xxx.xxx.xxx:80 transparent vhost defaultsite=XXXXXX
cache_peer 127.0.0.1 parent 80 3130 originserver
acl manager proto cache_object
acl localhost src 127.0.0.1/32
# Allow access to the web ports
acl web_ports port 80
http_access allow web_ports
# Allow cachemgr access from localhost only for maintenance purposes
http_access allow manager localhost
http_access deny manager
# Allow cache purge requests from MediaWiki/localhost only
acl purge method PURGE
http_access allow purge localhost
http_access deny purge
# And finally deny all other access to this proxy
http_access deny all
Poi ho configurato il mio server apache2
# /etc/apache2/sites-enabled/000-default.conf
Listen 127.0.0.1:80
ho aggiunto
0.123.516,41 mila$wgUseSquid = true;
$wgSquidServers = array('xx.xxx.xxx.xxx');
$wgSquidServersNoPurge = array('127.0.0.1');
alle mie LocalSettings.php
Poi ho riavviato apache2 e ha iniziato squid3 con
service squid3 restart
e ha fatto un primo tentativo di accesso con
wget --cache=off -r http://XXXXXX/mediawiki
il risultato è:
Resolving XXXXXXX (XXXXXXX)... xx.xxx.xxx.xxx
Connecting to XXXXXXX (XXXXXXX|xx.xxx.xx.xxx|:80... failed: Connection refused.
Grazie per aver esaminato questa e la risposta dettagliata. La ragione per cui stavo chiedendo calamaro è stata ora aggiunta alla domanda. Mediawiki può parlare con calamari ma non so se parlerebbe della proposta di apache che stai facendo qui. –
Tradizionalmente Mediawiki è stato progettato per essere distribuito in un ambiente stile LAMP (Linux, Apache, MySQL, PHP) e l'ho distribuito in questo stile un numero di volte. Supponendo che tu stia seguendo quella struttura, allora quanto sopra funzionerà bene dato che starai già usando Apache come frontend HTTP. mod_cache all'interno di Apache si comporterebbe in modo simile alla cache di Squid che stai tentando di installare qui. Tuttavia, non credo che una cache di contenuti come Squid/Apache sarà una buona scelta qui, e un acceleratore di cache come Memcached che è progettato in Mediawiki sarebbe più adatto. –
Questa è una risposta assolutamente sbagliata e dannosa: stai mescolando diversi livelli di cache e non prendi in considerazione le purghe. Memached è una cache _object *. MW lo utilizza per memorizzare i risultati di query/calcoli costosi. È necessario per un wiki performante (o, con un singolo server delle applicazioni, memoria condivisa APC), tuttavia non è sufficiente. Squid (o, meglio, Varnish) è una cache HTTP. Memorizza nella cache le risposte HTTP risultanti e, come tale, consente un'enorme riduzione del carico di Apache. Wikipedia non sarebbe in grado di funzionare ai livelli di carico attuali senza una cache HTTP ottimizzata. – MaxSem