Questo tutorial ti mostrerà come migliorare i tempi di caricamento delle pagine del tuo sito web utilizzando il modulo mod_pagespeed di Google per Apache insieme alla veloce cache in memoria Memcached. Il tempo di caricamento della pagina è un fattore importante per ottenere un buon posizionamento nei motori di ricerca, puoi testare il tempo di caricamento attuale, ad es. con lo strumento Google PageSpeed Insights o con gli strumenti per sviluppatori nel browser web Firefox. Pagespeed è un modulo Apache 2 che ottimizza e memorizza nella cache il contenuto di un sito Web prima che venga consegnato al browser, il risultato è che la pagina viene caricata, il carico del sistema sul tuo server diminuisce e il server sarà in grado di fornire più pagine al secondo . Mod_pagespeed utilizza una cache del filesystem per impostazione predefinita, in questo tutorial sostituiremo la cache del filesystem con Memcached, un daemon di memorizzazione nella cache veloce che migliorerà ulteriormente il tempo di caricamento. Questo tutorial è compatibile con tutti i tipi di configurazione di Apache, userò un server LAMP di Ubuntu come
Installazione di mod_pagespeed
Google fornisce pacchetti mod_pagespeed .deb per installazioni Ubuntu a 32 e 64 bit.
Come scoprire se hai bisogno del pacchetto 32bit o 64Bit? Esegui il comando:
uname -a
Il risultato del comando dovrebbe essere simile allo screenshot qui sotto.
Quando il comando contiene la stringa "x86_64", il tuo sistema esegue un kernel Linux a 64 bit. In questo caso usa i comandi forniti di seguito per Ubuntu a 64 bit.
Ubuntu 64 bit (Predefinito per la maggior parte dei server attuali)
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
dpkg -i mod-pagespeed-stable_current_amd64.deb
Ubuntu 32 bit
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
dpkg -i mod-pagespeed-stable_current_i386.deb
Quindi riavvia Apache 2 per caricare la configurazione mod_pagespeed.
service apache2 restart
Installazione di Memcached
Il demone Memcached è disponibile nei repository di Ubuntu come pacchetto .deb e può essere installato con apt:
apt-get -y install memcached
Esegui il comando "netstat -tap | grep memcached" per vedere se Memcached è avviato:
netstat -tap | grep memcached
Il risultato del comando netstat sarà simile al seguente:
[email protected]:/tmp# netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 1687/memcached
Ho contrassegnato in grassetto la porta su cui è in esecuzione Memcached. Dobbiamo conoscere quel numero di porta per la configurazione mod_pagespeed.
Se ti piace utilizzare Memcache dalle tue applicazioni basate su PHP e non solo per mod_pagespeed, installa l'estensione memcaed PHP:
apt-get install php5-memcached
Configura mod_pagespeed per usare Memcached
Apri il file pagespeed.conf in un editor, userò l'editor nano qui:
nano /etc/apache2/mods-available/pagespeed.conf
e cerca la riga "ModPagespeedMemcachedServers":
[....]
# ModPagespeedMemcachedServers localhost:11211
[....]
Rimuovi il # davanti alla linea in modo che la linea risultante assomigli a quella seguente:
[....]
ModPagespeedMemcachedServers localhost:11211
[....]
Se hai molta memoria nel tuo server, puoi aumentare ulteriormente la velocità rimuovendo il # davanti a questa riga:
[....]
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
[....]
Quindi riavvia il server Apache 2 per attivare la nuova configurazione.
service apache2 restart
Ora mod_pagespeed utilizzerà Memcached come backend di archiviazione. Puoi ottenere statistiche sull'utilizzo da Memcached con il comando nc:
echo stats | nc 127.0.0.1 11211
[email protected]:/tmp# echo stats | nc 127.0.0.1 11211
STAT pid 1687
STAT uptime 134
STAT time 1440931897
STAT version 1.4.14 (Ubuntu)
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.000000
STAT rusage_system 0.008000
STAT curr_connections 5
STAT total_connections 6
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 6
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END
Premi [ctrl] + c per tornare al prompt dei comandi.
Ora prova di nuovo la velocità del tuo sito web, ad es. con PageSpeed Insights. Quando il tuo sito web non ha ancora molto traffico, potrebbe essere necessario ricaricare la pagina web alcune volte per riempire le cache prima di ottenere risultati corretti.
Link
- Strumenti per la velocità di pagina di Google
- memcached.org