Funciona pero no afecta el rendimiento. ¿Lo uso bien?
/etc/varnish/default.vcl
backend default { .host = "127.0.0.1"; .port = "4000"; }agregué el puerto de desaparición en lugar de 4000 en la configuración de nginx
location / { proxy_pass http://localhost:6081; }El rendimiento de escritorio de mi aplicación Angular (google pagespeed) es del 99%, pero el rendimiento móvil es del 40-60%.
El comportamiento listo para usar de Varnish respeta las mejores prácticas de almacenamiento en caché de HTTP.
Esto significa:
- Solo almacena en caché las llamadas HTTP GET y HTTP HEAD
- No entregue respuestas desde la memoria caché cuando la solicitud contenga encabezados de
cookie- No entregue respuestas desde la memoria caché cuando la solicitud contenga encabezados de
authorization- No almacene las respuestas en la memoria caché cuando haya encabezados
set-cookie- No almacene respuestas en caché cuando el encabezado
cache-controles un TTL cero o cuando contiene lo siguiente:no-cache,no-storeoprivate
Bajo todas las circunstancias Varnish intentará servir desde caché o almacenar en caché.
Este es ese comportamiento escrito en VCL: https://github.com/varnishcache/varnish-cache/blob/6.0/bin/varnishd/builtin.vcl
Si bien estas mejores prácticas de almacenamiento en caché tienen sentido, no son realistas cuando observa el mundo real . En el mundo real usamos cookies todo el tiempo.
Es por eso que probablemente tendrá que escribir algún código VCL para cambiar el comportamiento del caché. Para hacerlo, debe estar bastante familiarizado con los puntos finales HTTP de su aplicación, pero también con las partes donde se utilizan las cookies.
El binario varnishlog lo ayudará a comprender el tipo de tráfico que pasa por Varnish y cómo se comporta Varnish con ese tráfico.
Escribí una publicación de blog detallada sobre esto, eche un vistazo: https://feryn.eu/blog/varnishlog-measure-varnish-cache-performance/
Una vez que haya descubierto qué está causando la caída en el rendimiento, puede escribir VCL para mitigar. Eche un vistazo al sitio de documentos para obtener información sobre VCL: https://varnish-cache.org/docs/6.0/index.html
Hay material de referencia allí, una guía de usuario e incluso un tutorial.
Buena suerte