varnish cache en ocho pasos
Post on 13-Jan-2017
251 Views
Preview:
TRANSCRIPT
Caché con Varnish. Paso a paso.
Caché con Varnish Paso a paso
Roberto Moreda <moreda@allenta.com>
Francisco Velázquez <francisco@varnish-software.com>
Caché con Varnish. Paso a paso.
Sobre Varnish Cache Plus
Acelerador de aplicaciones web
Rápido
Flexible
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
Objetivo
Entender qué hacer para acelerar una aplicación web
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
Diseñando para Varnish
Entiende y clasifica el contenido en tu backend
Define cabeceras HTTP en tu aplicación
Define estrategias de invalidación
Caché con Varnish. Paso a paso.
Implementación incremental
Desplegar Varnish en aplicaciones existentes
Incrementar gradualmente el uso de la caché
Primero “objetivos sencillos“
Caché con Varnish. Paso a paso.
VCL
Varnish Configuration Language
Aplica a las peticiones (HTTP requests)
Inserta lógica de propósito específico
Caché con Varnish. Paso a paso.
Receive
Miss
Fetch
Deliver
ERROR
Request Hit
Response
Caché con Varnish. Paso a paso.
P1: Sólo pass through (1/2)
Nivel de dificultad: Trivial
Nivel de mejora: Medio
Caché con Varnish. Paso a paso.
P1: Sólo pass through (2/2)
Varnish pasivo
Balanceo de carga muy potente
Checks de salud incluidos
Excelente para depurar aplicaciones web
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
P2: Recursos estáticos (1/2)
Nivel de dificultad: Trivial
Nivel de mejora: Medio
Caché con Varnish. Paso a paso.
P2: Recursos estáticos (2/2)
Contenido multimedia, CSS, javascript
Menor concurrencia hacia el backend
Menor uso de ancho de banda
Menor consumo de CPU en el backend
Caché con Varnish. Paso a paso.
P3: Compresión (1/2)
Nivel de dificultad: Trivial
Nivel de mejora: Medio
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
P3: Compresión (2/2)
Compresión gzip de CSS/Javascript:
JQuery standard: 263 kb
JQuery gzipped: 32 kb
Varnish puede comprimir y descomprimir objetos
Reutilización de compresión
Caché con Varnish. Paso a paso.
P4: Contenido semi-estático (1/3)
Nivel de dificultad: Medio
Nivel de mejora: Alto
Caché con Varnish. Paso a paso.
P4: Contenido semi-estático (2/3)
Contenido generado dinámicamente
Difícil de generar y cambia poco
Usa un TTL corto (10-120 segundos)
Mitiga picos de tráfico
Caché con Varnish. Paso a paso.
P4: Contenido semi-estático (3/3)
Invalidación de caché manual
Interfaz web o API para emitir bans (VAC)
Caché con Varnish. Paso a paso.
P5: Grace mode (1/2)
Nivel de dificultad: Medio
Nivel de mejora: Alto
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
P5: Grace mode (2/2)
Desarrollado originalmente para mitigar acumulación de solicitudes de cliente
Puede servir contenido “antiguo” mientras no lo tenemos “fresco”
No tener contenido “fresco” significa normalmente que el backend está caído
Caché con Varnish. Paso a paso.
P6: Auto-purgado (1/2)
Nivel de dificultad: Medio
Nivel de mejora: Alto
Caché con Varnish. Paso a paso.
P6: Auto-purgado (2/2)
Backend responsable de invalidaciones explícitas
Uso de TTLs muy altos para asegurar hits de caché
Invalidación disparada por cambios en el backend
Caché con Varnish. Paso a paso.
P7: Composición de contenido (1/3)
Nivel de dificultad: Alto
Nivel de mejora: Alto
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
P7: Composición de contenido (2/3)
Edge Side Includes (ESI)
Fragmentar páginas web en partes: una parte = una URL
Composición de contenido en tiempo real
Funciona también con contenido comprimido
Caché con Varnish. Paso a paso.
P7: Composición de contenido (3/3)
<html><body>
… <esi:include src=“/frontpage/breaking” />
… <esi:include src=“/frontpage/latest” />
<!-- ¿Queremos que la caché manipule el contenido? -->
</body></html>
Caché con Varnish. Paso a paso.
P8: Invalidación de caché avanzada (1/3)
Nivel de dificultad: Medio
Nivel de mejora: Alto
Caché con Varnish. Paso a paso.
P8: Invalidación de caché avanzada (2/3)
A veces una página depende de múltiples objetos para su invalidación
Encontrar qué páginas deben ser invalidadas puede ser difícil
Caché con Varnish. Paso a paso.
Caché con Varnish. Paso a paso.
P8: Invalidación de caché avanzada (3/3)
Etiqueta páginas con cabecera específica:
X-Skus: 49834, 34321, 4343
Uso de hashtwo/xkeys
Se puede iniciar automáticamente desde el backend
Caché con Varnish. Paso a paso.
Margen de ganancia alto
3 - 15 días para alcanzar “alto” nivel de resultados
Requiere conocimiento del backend
Hemos hablado sobre qué hay que hacer - si quieres conocer el cómo, por favor lee el libro o apúntate a formación.
Conclusiones
Caché con Varnish. Paso a paso.
Muchas gracias¿Alguna pregunta?
Roberto Moreda <moreda@allenta.com>
Francisco Velázquez <francisco@varnish-software.com>
top related