Varnish

Varnish è un acceleratore HTTP che funziona come cache reverse proxy. Memorizza le risposte dei server backend e le serve direttamente agli utenti, riducendo drasticamente i tempi di risposta e il carico sui server.

Cos'è Varnish

Varnish Cache è progettato per:

  • Accelerare i siti web memorizzando le pagine in memoria
  • Ridurre il carico sui server backend (Nginx, PHP, etc.)
  • Gestire picchi di traffico servendo contenuti dalla cache
  • Migliorare i tempi di risposta con latenze nell'ordine dei millisecondi

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita Varnish
Version Versione di Varnish da utilizzare

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container (importante: determina la dimensione della cache)

Nota: La memoria allocata a Varnish determina quanti contenuti possono essere mantenuti in cache. Maggiore è la memoria, più contenuti possono essere cachati.

File di Configurazione

File Descrizione
default.vcl Configurazione VCL principale con le regole di caching
disabled.vcl Configurazione VCL per bypassare la cache (modalità passthrough)
Dockerfile File Docker per la build dell'immagine

default.vcl

Il file default.vcl contiene la configurazione principale:

  • Regole di caching per URL e contenuti
  • Backend server configuration
  • TTL (Time To Live) per i contenuti cachati
  • Gestione di headers e cookies
  • Regole di purge per invalidare la cache

Quando Usare Varnish

Varnish è ideale per:

  • Siti ad alto traffico con contenuti che cambiano poco frequentemente
  • Blog e siti di notizie con molte visite alle stesse pagine
  • E-commerce per le pagine prodotto e categorie
  • API con risposte che possono essere cachate

Best Practices

  1. Imposta memoria adeguata: Più memoria significa più contenuti in cache
  2. Configura TTL appropriati: Bilancia freschezza dei contenuti e performance
  3. Escludi le aree autenticate: Non cachare pagine con sessioni utente
  4. Monitora gli HIT rate: Un buon HIT rate è sopra 80-90%
  5. Usa Varnish solo in produzione: In sviluppo può complicare il debug

Prossimi Passi

  • Nginx - Web server backend per Varnish
  • Traefik - Gestione SSL e routing