Abilitare / disabilitare la cache di Joomla per migliorare le prestazioni [Come fare per]

cache di joomla

La potenza di un CMS come Joomla è che è alimentato da un database, rendendo dinamico l'intero sito e il contenuto. Ma quando si tratta di prestazioni, questa infrastruttura di database è il tallone d'Achille. Il recupero del contenuto dal database a ogni hit è un collo di bottiglia delle prestazioni. Ma c'è un'eccellente via di mezzo, usando la cache di Joomla.

In questo articolo, forniremo la guida definitiva per l'utilizzo di più forme di cache di Joomla per dare al tuo sito web un aumento istantaneo ed eccellente delle prestazioni.

Cos'è una cache?

Secondo wikipedia:

Una cache è un componente hardware o software che memorizza i dati in modo che le future richieste di tali dati possano essere servite più velocemente; i dati memorizzati in una cache potrebbero essere il risultato di un calcolo precedente o una copia di dati archiviati altrove. UN colpo di cache si verifica quando i dati richiesti possono essere trovati in una cache, mentre un file nascondi signorina si verifica quando non è possibile. Gli hit della cache vengono serviti leggendo i dati dalla cache, che è più veloce del ricalcolo di un risultato o della lettura da un archivio dati più lento; quindi, più richieste possono essere servite dalla cache, più velocemente il sistema esegue.

Ma cosa significa questo in termini di Joomla?

Quando un visitatore accede al tuo sito web, Joomla normalmente esegue una serie di query sul database per recuperare tutte le informazioni, come menu, contenuti, moduli e altri contenuti dinamici e renderli al volo.

Man mano che la quantità di dati nel database cresce o il sito riceve sempre più visitatori, le prestazioni della configurazione complessiva iniziano a peggiorare. Anche con pochi utenti, sull'hosting condiviso, le prestazioni possono essere lente, indipendentemente dal fatto che il tuo sito riceva molti visitatori o meno.

Quando la cache di Joomla è in uso, invece di colpire il database MySQL con le stesse query più e più volte, il tuo primo colpo memorizza i dati in un insieme di file locali (nella directory della cache di Joomla). Gli hit successivi recupereranno il contenuto da questi file, invece che dal database.

Questo perché la lettura dei dati da un file locale è molte volte più veloce della lettura da un database.

Ciò significa che l'intero sito Web verrà caricato quasi istantaneamente e funzionerà molto meglio. Il tuo sito web risulterà più veloce e sarà in grado di supportare più utenti simultanei.

Ecco come appare l'intero concetto in un'immagine:

flusso di lavoro di memorizzazione nella cache

Si noti che questo è diverso dal caching del browser: il caching del browser è qualcosa che è raccomandato dal server web (ma fatto dal browser locale). Il caching lato server, d'altra parte, è il caching effettivo delle risorse e dell'HTML creati sul server web.

Se vuoi saperne di più su come sfruttare la cache del browser leggi questo articolo qui.

Ovviamente, l'unico modo per migliorare davvero le prestazioni è passare a un file server di hosting più veloce. Dai un'occhiata a il nostro InMotion che ospita VPS recensione qui.

Come abilitare la cache in Joomla

La memorizzazione nella cache è una funzione implementata nel core di Joomla. Pertanto, l'attivazione della cache principale di Joomla è molto semplice.

Dal Configurazione Globale, clicca su Sistema Tab, e sul lato destro c'è il file Impostazioni cache .

Fare clic sul menu a discesa e selezionare ATTIVATO - Memorizzazione nella cache conservativa or ON: memorizzazione nella cache progressiva nelle impostazioni della cache e inserire una quantità ragionevole in pochi minuti. 60 minuti dovrebbero essere l'importo minimo per la maggior parte dei siti web.

Abilita la cache di joomla

Memorizzazione nella cache conservativa consente di specificare che moduli specifici non vengono memorizzati nella cache (nell'impostazione dei moduli stessi).

Memorizzazione nella cache progressiva sovrascrive questa impostazione e memorizza sempre nella cache tutti i moduli. Tendiamo a utilizzare noi stessi la memorizzazione nella cache conservativa in modo da mantenere la capacità di decidere di non memorizzare nella cache un modulo specifico.

In generale, consigliamo di prolungare questo tempo, in genere 240 minuti (4 ore) o anche di più. Puoi sempre svuotare (o ripristinare) la cache se desideri aggiornarla.

Una volta premuto Applica, la memorizzazione nella cache di Joomla per moduli e componenti verrà abilitata. tuttavia questa impostazione non è sufficiente, abbiamo ancora un passaggio da fare! Vogliamo comunque abilitare la memorizzazione nella cache della pagina.

Per abilitare il caching delle pagine di Joomla, devi andare su Estensioni> Plugin, cerca Cache e fai clic su Sistema - Cache della pagina. Devi assicurarti che questo plugin sia abilitato. Puoi anche scegliere di impostare la memorizzazione nella cache del browser abilitando il file Usa la cache del browser interruttore.

Puoi anche scegliere di escludere voci di menu specifiche dalla memorizzazione nella cache, ad esempio, quanto di seguito esclude il menu Contattaci.

abilitare il plug-in per la cache della pagina di sistema di joomla

Se ci sono pagine che desideri escludere dalla memorizzazione nella cache, puoi andare alla scheda Avanzate e specificare ogni URL che desideri escludere dalla memorizzazione nella cache. È necessario specificare ogni URL che si desidera escludere dalla memorizzazione nella cache, su una riga separata.

Sono supportate anche le espressioni regolari, ad esempio about \ - [az] + escluderà tutti gli URL con "about-", come "about-us", "about-me", "about-joomla" ecc. Mentre / component / users / escluderà tutti gli URL che hanno / component / users /.

Dopo aver abilitato e salvato, dovresti vedere un tempo di caricamento della pagina web molto migliorato.

Se utilizzi uno strumento di test della velocità della pagina come https://webpagetest.org/ dovresti vedere una netta differenza, soprattutto se hai anche abilitato il caching del browser.

Dovresti, in particolare, notare una marcata differenza nel Time to First Byte:

collectiveray test delle prestazioni della pagina web

 

Se il tuo host Joomla lo supporta come l'hosting di CollectiveRay.com - potresti anche voler abilitare Memcache per rendere il tuo sito web Joomla ancora più veloce!

Come cancellare o svuotare la cache di Joomla

Quando hai abilitato la cache di Joomla, il contenuto sul front-end del tuo sito non si aggiornerà fino alla scadenza del tempo di memorizzazione nella cache in base alle tue impostazioni. 

Allora cosa fai se vuoi resettare la cache? Questa è una procedura abbastanza semplice. Vai semplicemente a Sistema> Cancella cachee fare clic su Elimina tutto. Questo svuoterà l'intera cache di Joomla e il contenuto verrà ora aggiornato con il nuovo contenuto.

Potresti semplicemente svuotare solo parti specifiche della cache, selezionando la casella di controllo appropriata e facendo clic su Elimina.

Cancella la cache di Joomla

Plugin alternativo per la cache di Joomla

Un problema che troviamo con la cache nativa di Joomla è che non è possibile ripristinare solo una singola pagina. Per i siti che hanno centinaia o addirittura migliaia di pagine, il ripristino di tutta la cache ogni volta che si esegue una piccola modifica inizia a diventare un collo di bottiglia, soprattutto se si ha molto traffico.

In questo caso, ti consigliamo di optare per un plug-in della cache di Joomla alternativo che ti consenta di reimpostare la cache della pagina a livello di URL o pagina.

Il nostro plugin alternativo preferito per la cache di Joomla è JotCache. Oltre alle impostazioni avanzate di memorizzazione nella cache, puoi anche riscaldare la cache (ovvero eseguire la scansione di tutte le pagine in modo che siano posizionate nella cache prima che un utente le raggiunga, svuotare la cache solo di una singola pagina ed escludere URL specifici o interi componenti Ad esempio, potresti voler escludere il tuo componente Virtuemart dalla cache o il tuo modulo / componente utenti.

Controlla le impostazioni avanzate qui:

jotcache esclude url

Ed ecco la schermata che ti permette di resettare o svuotare la cache solo di una singola pagina:

vista di gestione dei componenti jotcache

Dai un'occhiata a JotCache

Come abilitare Joomla Memcached

Una delle correzioni che abbiamo avuto nel recente passato è una correzione per far caricare il nostro sito incredibilmente velocemente - ed è stato allora che abbiamo sentito parlare per la prima volta di Joomla Memcache (d).

Se questo è supportato dall'infrastruttura del server, ci piacerebbe abilitarlo. Ad esempio, alcuni dei nostri siti che sono su SiteGround, attivalo perché dà un bel aumento di velocità. Per inciso, ci piace il server impostato su SiteGround. Per impostazione predefinita, spostando il tuo sito da un servizio di hosting condiviso economico a SiteGround vedrà il sito di caricamento ridotto di almeno 2 secondi (senza altre modifiche).

Ciò significa che impostano i loro server in modo molto carino. Ma c'è di più per rendere veloce il tuo sito. È qui che entra in gioco Joomla Memcached.

Oltre alla configurazione predefinita, SiteGround offri tre livelli di cache per rendere il tuo sito più veloce

  1. Cache statica: memorizza nella cache il contenuto statico (simile a quello che farebbe un CDN)
  2. Cache dinamica: crea copie del contenuto dinamico del tuo sito web e le memorizza nella RAM del server. Ciò richiede il proprio plug-in personalizzato per interfacciarsi bene con il tuo sito e il server su cui è ospitato
  3. La tecnologia Joomla Memcached accelera le chiamate al database, le chiamate API e il rendering delle pagine archiviando dati e oggetti in memoria per ridurre il numero di volte in cui un database viene interrogato. SiteGround è l'unica azienda che applica l'algoritmo memcached su un ambiente server condiviso.

 

La cosa grandiosa è che Joomla supporta memcache per impostazione predefinita, ma poiché questo richiede alcuni ritocchi, non lo troverai nelle normali impostazioni della cache nella Configurazione globale.

Come puoi vedere di seguito, le impostazioni memcached di Joomla 3 sono nascoste (non hai un'opzione memcached sotto) e devono essere attivate facendo un piccolo aggiustamento nel file configuration.php.

 Impostazioni predefinite della cache di Joomla

 

Per abilitare Memcache dovrai modificare il tuo Configuration.php e modificare le seguenti due variabili:

public $ caching = '0';
public $ cache_handler = 'file';

di:

public $ caching = '2';
public $ cache_handler = 'memcache';
public $ memcache_server_host = 'localhost';
public $ memcache_server_port = 'xxxxxx'

 dove xxxxxx è una porta specificata dal tuo server di hosting. Verifica le informazioni con il tuo server di hosting.

Impostazioni di Joomla Memcache

Impostazioni memcache di Joomla

  

Una volta fatto ciò, il tuo Joomla è ora memorizzato nella memcache e dovresti vedere un altro miglioramento nel tempo di caricamento del tuo sito web. Ciò è particolarmente utile per i siti Web affollati. Assicurati di controllare se il tuo sito supporta memcached: in caso contrario, dovresti darlo SiteGround uno sguardo ;)

Ci sono molti altri articoli sulle prestazioni su questo sito, uno dei più popolari è come correggere l'errore denominato, sfruttare la cache del browser: abbiamo una spiegazione completa su CollectiveRay.

 

Ti aiutiamo a gestire meglio il tuo Joomla

joomla

Pulsante ebook gratuito di suggerimenti Joomla

Attiva la memorizzazione nella cache di Joomla per un sito web Joomla più veloce

Come abilitare PHP OpCache per Joomla

I punti di cui sopra dovrebbero già aver portato il tuo sito a un tempo di caricamento ed esecuzione piuttosto migliorato. Ma c'è ancora una cosa che trattiene il tempo di caricamento.

Di solito è il tempo necessario per eseguire il codice PHP stesso. Vedi, PHP è un linguaggio di programmazione che viene eseguito riga per riga. Il server traduce in genere il codice PHP in istruzioni eseguibili dalla macchina e quindi le esegue.

Tuttavia, quando si tratta di eseguire nuovamente le istruzioni, verranno nuovamente tradotte. Quindi ogni volta che viene eseguita la stessa porzione di codice, deve essere tradotta di nuovo.

Questo è un collo di bottiglia delle prestazioni che può essere risolto tramite qualcosa chiamato caching OpCode o OpCaching. Quando si utilizza la memorizzazione nella cache OpCode, viene creato un nuovo tipo di cache che memorizza il codice macchina tradotto in precedenza in modo che quando la riga deve essere eseguita di nuovo, il codice eseguibile dalla macchina è già disponibile.

Di seguito puoi vedere un diagramma di come funziona nella vita reale:

Memorizzazione nella cache del codice operativo PHP

La memorizzazione nella cache OpCode richiede il supporto del tuo server di hosting. Se il tuo sito è in esecuzione su CPanel e WHM, dovrai ottenere l'accesso ROOT al WHM e abilitare PHP-FPM o un altro pacchetto di memorizzazione nella cache OpCode. 

Questo differisce anche tra PHP 7.2 e PHP 7.3: sarebbe meglio chiedere alla tua società di hosting se è possibile e come farlo. Usiamo un InMotion VPS, quindi abbiamo il pieno controllo del servizio e la nostra configurazione attuale utilizza PHP-FPM.

Se hai accesso ROOT a WHM, vai su PHP MultiPHP Manager e installa un pacchetto con PHP-FPM.

Una volta abilitato, sarai in grado di vedere le seguenti informazioni nelle informazioni PHP in Joomla. Puoi trovarlo sotto Sistema> Informazioni di sistema> Informazioni PHP

Puoi vedere gli hit della cache, questa è un'indicazione che PHP sta recuperando gli OpCodes dalla cache e non li ricrea da zero ogni volta.

zend opcode cache joomla

Opzione di memorizzazione nella cache alternativa - LiteSpeed ​​Server

Ancora una volta, se disponi di un VPS, puoi avere molto più controllo e ottenere prestazioni migliori dal tuo server. 

Una delle tecniche avanzate che abbiamo fatto per rendere il nostro sito incredibilmente più veloce è usare il server LiteSpeed ​​invece di Apache o NGINX. LiteSpeed ​​è un server Web aziendale che sostituisce Apache.

Ciò significa che puoi mantenere tutta la configurazione per Apache, ma ottenere un tempo di esecuzione molto più veloce. 

LiteSpeed ​​ha sia OpCache che il caching della pagina integrati come componente specifico di Joomla. Viene fornito con il suo componente di memorizzazione nella cache avanzato che ti consente di svuotare solo singole pagine, in modo che se aggiorni una pagina, non devi invalidare l'intera cache.

Opzioni della cache di LiteSpeed ​​Joomla

Ci sono molte opzioni avanzate di memorizzazione nella cache che puoi utilizzare, abbiamo utilizzato questo server per ottenere un'incredibile velocità di caricamento del sito web. Il server LiteSpeed ​​costa $ 10 al mese, ma riteniamo che sia un ottimo investimento.

Dai un'occhiata a LiteSpeed ​​Server ora

Punti di nota:

Quando abiliti la cache di Joomla, potresti notare che i tuoi "conteggi di hit" non aumentano più a ogni singolo hit. In sostanza, poiché stai archiviando una copia del contenuto per un po' di tempo, gli Hits aumenteranno solo ogni volta che la cache scade. Anche se questo potrebbe sembrare uno svantaggio, riteniamo che dovresti ignorare completamente il conteggio dei colpiless se abiliti o meno la cache di Joomla. I conteggi dei colpi sono distorti e imprecisi per vari motivi

1. Sono gonfiati dai tuoi stessi colpi

2. Sono gonfiati da bot, crawler e altri visitatori "irreali" o "fantasma", non sono visitatori effettivi dei tuoi siti. Sono solo script che svolgono le loro attività robotiche. Pensare a questi come persone reali che leggono i tuoi post porterà a uno scenario irrealistico

3. Servizi come Google Analytics sono molto più accurati nella gestione degli script e nella creazione di un'analisi dettagliata e del profilo dei visitatori del tuo sito web. Ti farà molto più bene se usi uno script come Google Analytics per questo. Puoi usare il nostro Plugin di Google Analytics per Joomla per fare questo.

Come puoi vedere in tutto il nostro sito, abbiamo disabilitato la maggior parte dei luoghi in cui vengono visualizzati gli hit di Joomla, perché riteniamo che siano utililess, letteralmente uno spreco di risorse. Se vuoi sapere chi sta visitando il tuo sito, usa Google Analytics. Se vuoi stupire i tuoi visitatori con il numero di visualizzazioni di pagina che hai, aggiungi alcuni pulsanti social. Sono molto più inclini a portare molto traffico e, naturalmente, sono effettivamente accurati.

Joomla 1.5

Anche l'attivazione della cache di Joomla è semplice. Dal Configurazione Globale, clicca su Sistema Tab, e sul lato destro c'è il file Impostazioni cache sezione. Fare clic su Sì in Impostazioni cache e inserire una quantità ragionevole in minuti (60 minuti dovrebbero essere abbastanza buoni per la maggior parte dei siti Web). Dopo aver premuto Applica, la memorizzazione nella cache verrà abilitata.

Joomla 1.0 

La cache standard di Joomla è abilitata da Sito> Configurazione globale> Sistema> Impostazioni cache (o Sito> Configurazione globale> scheda Cache per Joomla 1.0) e contrassegnarla come abilitata.

Sebbene ci siano componenti scritti per il caching, il caching out of the box darà al tuo sito web una spinta immediata.

Domande frequenti

Cos'è una cache?

Una cache è un meccanismo che memorizza una copia temporanea del contenuto su una memoria veloce locale (come disco o memoria) in modo che il server non debba recuperare il contenuto dal database ogni volta che un visitatore visita un sito web. Questo rende il tempo di caricamento di un sito molto più veloce.

Come abilito la cache di Joomla?

Esistono varie opzioni per abilitare la cache di Joomla. Il metodo più semplice è abilitarlo tramite il core di Joomla, nella Configurazione globale, sotto Sistema nella sezione Impostazioni cache. Abilita semplicemente la cache su On - Memorizzazione nella cache conservativa. Dovresti anche abilitare il plug-in della cache della pagina in Estensioni> Plugin per la memorizzazione nella cache a livello di pagina. Dovresti anche consultare questo articolo per molte altre opzioni avanzate per la memorizzazione nella cache.

Come posso cancellare la cache di Joomla?

Per svuotare la cache di Joomla, vai su Sistema> Svuota cache e fai clic su Elimina tutto.

Conclusione

Sopra abbiamo visto i vari modi in cui puoi abilitare la cache di Joomla, sia dal nucleo che utilizzando componenti esterni e avanzati per rendere più veloce il tuo sito web. Mandaci un messaggio e facci sapere se ci siamo persi qualcosa.

 

L'autore
Davide Attard
David ha lavorato nel settore online e digitale negli ultimi 21 anni. Ha una vasta esperienza nei settori del software e del web design utilizzando WordPress, Joomla e le nicchie che li circondano. Ha lavorato con agenzie di sviluppo software, società di software internazionali, agenzie di marketing locali e ora è responsabile delle operazioni di marketing presso Aphex Media, un'agenzia SEO. In qualità di consulente digitale, il suo obiettivo è aiutare le aziende a ottenere un vantaggio competitivo utilizzando una combinazione del loro sito Web e delle piattaforme digitali oggi disponibili. La sua miscela di esperienza tecnologica combinata con un forte senso degli affari conferisce un vantaggio competitivo ai suoi scritti.

Un'altra cosa... Sapevi che anche le persone che condividono cose utili come questo post sembrano FANTASTICHE? ;-)
Per favore, lasciare un utile commenta con i tuoi pensieri, quindi condividi questo articolo sui tuoi gruppi di Facebook che lo troverebbero utile e raccogliamo insieme i frutti. Grazie per la condivisione e per essere gentile!

Disclosure: Questa pagina può contenere collegamenti a siti esterni per prodotti che amiamo e consigliamo vivamente. Se acquisti prodotti che ti suggeriamo, potremmo guadagnare una commissione per segnalazione. Tali commissioni non influenzano le nostre raccomandazioni e non accettiamo pagamenti per recensioni positive.

 

chi siamo noi?

CollectiveRay è gestito da David Attard - lavorando dentro e intorno alla nicchia del web design da più di 12 anni, forniamo suggerimenti utili per le persone che lavorano con e sui siti web. Gestiamo anche DronesBuy.net, un sito Web per appassionati di droni.

David Attard

 

 

Autore / i in primo piano su:  Logo della rivista Inc   Logo di Sitepoint   Logo CSS Tricks    logo webdesignerdepot   Logo WPMU DEV   e molti altri ...