Cache di WordPress: cosa può essere memorizzato nella cache e come lo facciamo

Pubblicato: 2017-04-28

Vuoi che il tuo sito web vada veloce. Una tecnologia che contribuisce alla velocità del sito è la memorizzazione nella cache. La memorizzazione nella cache è un insieme di tecniche software e hardware che memorizzano i dati in modo che siano rapidamente disponibili per richieste future. In questo articolo spiegheremo cos'è la cache di WordPress, come può essere implementata su molti livelli diversi e come ci prendiamo cura di tutto per te così non dovrai preoccuparti di questo.

Cos'è la memorizzazione nella cache?

Nell'informatica, c'è questa cosa chiamata "cache", per cui un componente software o hardware viene utilizzato per memorizzare temporaneamente valori e recuperarli più velocemente in futuro. Valori come query MySQL o bytecode PHP compilato, nonché dati duplicati, come HTML e immagini. Praticamente tutto, davvero.

Vantaggi della memorizzazione nella cache

Creando copie dei dati e inserendoli nel componente "caching", otteniamo un notevole vantaggio in termini di prestazioni. I tuoi visitatori possono recuperare i contenuti memorizzati nella cache molto più velocemente di quelli non memorizzati nella cache. I contenuti memorizzati nella cache possono essere recuperati più velocemente dai visitatori rispetto a quelli non memorizzati nella cache. I componenti di memorizzazione nella cache sono in genere memoria, ma possono essere qualsiasi cosa che può essere più veloce dell'archiviazione convenzionale. Ma quanto miglioramento delle prestazioni puoi ottenere?
Tutto dipende dalla quantità di dati che puoi memorizzare nella cache, ma in generale, i miglioramenti delle prestazioni dell'ordine di un secondo intero non sono rari.

Cosa può essere memorizzato nella cache?

Esistono diversi livelli, a seconda di quanto vuoi spingerti per ottimizzare il tuo sito Web utilizzando la memorizzazione nella cache.

Output HTML

Il primo modo è memorizzare nella cache la pagina HTML stessa. Esistono molti plugin per la cache di WordPress come WP Rocket e W3 Total Cache che fanno questo e molto altro. Questi plugin memorizzano nella cache il risultato dell'output HTML risparmiando tempo per richieste future. Inoltre, ogni plug-in offre un meccanismo di invalidamento della cache in modo da poter servire il contenuto non memorizzato nella cache quando lo desideri.

Un'altra tecnica è quella di "minimizzare" l'HTML, cioè di renderlo più piccolo. Questo ti dà un paio di kilobyte per pagina, ma si somma nel tempo.

Avrai bisogno dell'accesso alla dashboard o di un modo per installare plug-in su WordPress per farlo.

Riferimento:

  • WP Rocket
  • Plugin W3 Total Cache WordPress

PHP OpCache

OpCaching è una tecnica in base alla quale PHP prende i file PHP di origine e li compila in una forma intermedia, chiamata bytecode. Bytecode è come il codice macchina di un computer, ma si riferisce al codice macchina che viene eseguito da una "macchina virtuale" (in questo caso, PHP) piuttosto che da una vera. Poiché è un codice macchina e risiede in memoria, può essere eseguito molto più rapidamente rispetto all'interprete PHP che analizza un comando alla volta e lo esegue.

La memorizzazione nella cache, a quel livello, memorizza questi dati di bytecode in memoria, in modo che l'applicazione possa essere eseguita più velocemente.

È necessario avere accesso al file di configurazione PHP per poter abilitare PHP OpCache.

Riferimento: OpCache

Ospita il tuo sito web con Pressidium

GARANZIA DI RIMBORSO DI 60 GIORNI

GUARDA I NOSTRI PIANI

Cache oggetti PHP

Questa è la memorizzazione nella cache che viene eseguita a livello di OOP della lingua. PHP è un linguaggio orientato agli oggetti, il che significa che utilizza il concetto di "oggetti" per descrivere logica, dati e idee. Durante l'esecuzione dell'applicazione, questi oggetti vengono costantemente creati e distrutti (dinamicamente, da un sottosistema chiamato Garbage Collector). Il processo di creazione e inizializzazione di questi oggetti richiede tempo. Quindi la memorizzazione nella cache degli oggetti risolve questo problema memorizzando nella cache gli oggetti stessi.

Questo è implementato tramite plugin come Memcached e quelli assortiti per Redis. Redis è un potente archivio di strutture dati in memoria, che può essere utilizzato come database. Memcached è un sistema di cache di oggetti distribuito. Entrambi sono scelte eccellenti per fare la memorizzazione nella cache a quel livello.

Dovrai avere accesso alla configurazione di PHP per abilitare la memorizzazione nella cache degli oggetti PHP. Avrai anche bisogno dell'accesso a un'istanza Redis o Memcached.

Riferimento

  • Plugin Redis per WordPress
  • Plugin WordPress memorizzato
  • Documentazione Redis
  • Wiki memcached

Memorizzazione nella cache delle query MySQL

Questa è la stessa idea, ma viene applicata a livello di database. Il database restituisce un insieme di dati in base alla query immessa. Se riesci a memorizzare nella cache i risultati di queste query, la prossima volta che qualcuno utilizzerà quella query otterrà i dati molto più velocemente perché risiedono nella cache.

Per questo, dovrai avere accesso al server del database.

Riferimento: cache delle query MySQL 8.0

Affinché tutti questi siano configurati e mantenuti correttamente, sono necessarie molte cose. Conoscenza tecnica, tempo e persino denaro, se ti manca l'esperienza. Ma possiamo aiutare con tutto questo.

Come risolviamo tutto con la cache multistrato di Pressidium.

La risposta è semplice. Abbiamo implementato la memorizzazione nella cache ovunque: su tutti i livelli di WordPress.

Per l'output HTML implementiamo due livelli di memorizzazione nella cache, hot e warm . Questi livelli fanno parte del nostro motore di cache adattivo. Il nostro motore può anche profilare il tuo sito e applicare le regole di memorizzazione nella cache più efficienti. Ma entreremo in maggiori dettagli su questo in un altro articolo. Quindi l'Hot cache è costituito da dati che risiedono in memoria e sono accessibili rapidamente. La Warm Cache è costituita da dati che risiedono in dischi SSD all'avanguardia. Ciò aumenta i rapporti complessivi di hit della cache e si traduce in un rendimento del tuo sito significativamente migliore rispetto allo storage convenzionale.

Per i nostri clienti aziendali, abbiamo creato un sistema di caching degli oggetti utilizzando l'eccellente archivio di strutture dati in memoria Redis. Infine, la memorizzazione nella cache di MySQL Query. Questo è abilitato per impostazione predefinita e monitorato costantemente dal nostro DevOps. MySQL Query Caching può fornirti preziose informazioni sulle prestazioni del tuo sito web.

È importante notare che tutti questi sono implementati nel back-end della nostra piattaforma e non tramite alcuni plug-in della cache di WordPress. Ciò significa che a) utilizziamo server esterni per l'archiviazione, quindi non appesantiamo le risorse del tuo server web e b) memorizziamo i dati in una memoria a cui è più veloce accedere rispetto al disco.

Qualunque siano le tue esigenze di memorizzazione nella cache e il tuo budget, siamo in grado di fornire.