Comparativa independiente · sin rankings de pago
Inicio / Blog / Técnico / Varnish: el caché que requiere que conozcas a tus usuarios conectados

Varnish: el caché que requiere que conozcas a tus usuarios conectados

Varnish acelera todo lo que es igual entre los visitantes y muestra la página equivocada a alguien que no debería ver la versión almacenable en caché.

Redacción Hébergeurs.eu 5 min Actualizado 19 jul. 2026

Varnish transforma un sitio de medios: 90% de caché de acceso, origen casi inactivo, factura del procesador dividida por tres. Luego, un editor inicia sesión, publica una solución urgente y las personas anónimas todavía ven el título anterior porque la purga solo afectó a la URL del artículo, no a la página de inicio etiquetada como "listing-news".

Este escenario ilustra la naturaleza de Varnish: no es una CDN administrada, es un motor de políticas HTTP. Escribes en VCL cuál es lo mismo, cuál es diferente y qué sucede cuando aparece una cookie session_id. Mal dominado, es el caché más rápido para servir la mala verdad.

Antes de Varnish, la pregunta no es "¿cuánta RAM?" » pero “¿un usuario que ha iniciado sesión es una variante de caché o una excepción?

En un sitio de medios o de comercio electrónico, la respuesta varía página por página: artículo público almacenable en caché, encabezado de miembro en un fragmento privado, carrito de compras siempre omitido. Sin esta matriz escrita, la VCL se convierte en una serie de correcciones posteriores al incidente.

Modelo mental: hash, pass, miss

Decisión VCLEfecto
retorno (hash)Buscar/almacenar en caché
regresar (pasar)Origen, no ciego
retorno (tubería)Túnel en bruto
retorno (sintetizador)Respuesta sintética (mantenimiento)

Flujo actual: consulta → vcl_recv; cookie de sesión → pasar; POST/PONER → pasar; de lo contrario → hash con clave URL + idioma + segmento anónimo; golpear → entregar; señorita → origen → TTL en vcl_backend_response.

Varnish te obliga a responder: ¿un usuario que ha iniciado sesión es una variante de caché o una excepción?

Usuarios conectados: tres patrones

Patrón 1: omisión total si hay sesión de cookies


if (req.http.Cookie ~ "PHPSESSID") {

    regresar(pase);

}

Origen sencillo, seguro y más transitado para los socios.

Patrón 2: segmentación hash

Misma URL, dos entradas role=member vs anon. Riesgo: demasiadas variaciones.

Patrón 3: ESI (el lado del borde incluye)

Shell almacenable en caché más fragmento <esi:include src="/private/header"> en la pasada. Potente, complejo.

PURGE, BAN y claves sustitutas

OperaciónAlcanceUso
PURGAR URLUn objetoArtículo modificado
Expresión de prohibiciónPatrónprohibición("req.url ~ /noticias/")
Prohibición de claves sustitutasEtiqueta lógicaprohibición("obj.http.Surrogate-Key ~ artículo-123")

Encabezado original: Clave-sustituta: artículo-123 listado-casa. En la publicación de CMS → prohibir la etiqueta artículo-123 más listing-home. Sin etiquetas, PURGAS a mano: olvido garantizado.

TTL, gracia y rancio

TTL: frescura nominal. Grace: ofrece una versión caducada a bajo precio: útil en su punto máximo, peligrosa en el precio de las acciones. Para comercio electrónico: gracia corta o cero en las páginas de precios.

La gracia le permite ofrecer una versión desactualizada mientras el origen es lento: útil en medios pico, peligroso en precio o stock. Documente la política por tipo de página: la publicación del blog tolera diez segundos de estancamiento; ficha de producto con stock limitado no.

Alojamiento y dimensionamiento

Varnish consume mucha RAM: planifique entre 1 y 2 GB más el tamaño del objeto de caché. En VPS: instancia dedicada si la tasa de aciertos es superior al 70 %; monitorear varnishstat - cache_hit, n_lru_nuked. Compartido: Barniz no disponible; CDN de borde parcial sin control VCL detallado. Consulte Caché de página dinámica y CDN u optimización de origen. Sin un equipo para mantener la VCL, una CDN administrada con reglas predefinidas puede ser más segura que un Varnish mal ajustado.

The Summit: Varnish premia a quienes conocen a su audiencia

Decide y avanza sin puntos ciegos

Empiece por hacer un inventario de las cookies y las rutas que siempre deben evitarse. Versione la VCL en Git y pruebe la recarga antes de cada lanzamiento. Conecte las claves sustitutas del CMS para realizar la purga sin PURGA manual. Finalmente, valide el comportamiento anónimo frente a los miembros en la página de inicio, la cuenta y la cesta, luego supervise la tasa de aciertos y prohíba los errores durante una semana.

Preguntas frecuentes

¿Varnish oculta páginas con cookies de sesión?

De forma predeterminada, no: la presencia de una cookie de sesión debería activar una omisión o un hash segmentado. Nunca proporcione una página de miembro a un visitante anónimo, incluso si la VCL parece "casi" correcta.

¿Diferencia entre paso, canalización y caché?

El modo caché almacena la respuesta. El modo Pass consulta el origen sin almacenar. El modo de tubería crea un túnel en la conexión sin formato, lo que resulta útil para flujos típicos que no son HTTP.

¿Cómo purgar después de la actualización?

Utilice PURGE o BAN específicos, o mejor, una prohibición automática de claves sustitutas del CMS en cada publicación. Evite las purgas globales que vacían todo el caché durante las horas pico.

¿Barniz delante de nginx o al revés?

La arquitectura clásica coloca Varnish en el front-end, luego nginx y luego PHP-FPM. El barniz absorbe el tráfico repetitivo; nginx administra los detalles y encabezados de la aplicación que el VCL no debe romper.


Varnish acelera lo que usted decide que sea igual; el resto es su responsabilidad de VCL, documentado y probado antes de cada gran campaña editorial.

Compara proveedores europeos

Filtra por cumplimiento, ubicación y caso de uso — luego abre las fichas para verificar el alcance real.

Explorar el directorio
Blog

Lecturas relacionadas

Todos los artículos →