Estoy usando Varnish 3.0.3 (el más reciente a partir de este escrito) con más o menos la instalación predeterminada, usando lo siguiente para el almacenamiento:
# # Cache file location
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=4000M
#
# # Backend storage specification
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
#
La mayoría de las páginas que se pueden almacenar en caché tendrán un TTL muy largo. El sitio con el que estoy trabajando es enorme y tiene millones de páginas, que posiblemente no se ajusten al tamaño de almacenamiento mencionado anteriormente (4 GB).
Preparado para las preguntas:
Supongamos que todo el espacio de almacenamiento está lleno y que nada en el caché ha caducado todavía (mi TTL es de 2 semanas en cada elemento del caché).
Supongo que Ban Lurker es inútil aquí, porque solo eliminará los elementos caducados y ninguno caducará.
Preguntas:
Dado el escenario anterior, ¿qué le sucede a Varnish cuando llegan solicitudes adicionales para algo que aún no está en el caché? ¿Varnish intenta eliminar elementos antiguos de la memoria caché, independientemente del TTL de esos elementos? ¿Varnish se estrella? ¿Colgar?
Si Varnish no maneja el escenario, ¿hay algo que pueda hacer para configurarlo para manejar mejor el escenario? (Obviamente podría reducir el TTL de los elementos en el caché, pero me pregunto si hay alguna sugerencia adicional).
Estoy viendo en este escenario que efectivamente Varnish deja de responder a las solicitudes. En el momento en que esto sucede, no me falta memoria o CPU en la caja.
Gracias.
Seguimiento:
También vi esta publicación
que me apuntó hacia
que parece indicar que todo "simplemente sucede" ... pero parece que en realidad envía una solicitud PURGE para la URL, lo que puede requerir agregar las cosas apropiadas a su VCL (consulte https://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )
Voy a intentarlo y haré un seguimiento si eso resuelve el problema.
Respuestas:
Según su configuración, parece utilizar el disco para almacenar la memoria caché de barniz.
Esto no se recomienda ( para el rendimiento ) a menos que tenga una buena razón (como sinni800).
Intente usar RAM para almacenar la memoria caché de barniz ("malloc" en lugar de "archivo") y reproduzca el problema.
fuente