Existem duas formas principais do varnishcache armazenar seus dados:

  1. Para memória (com a configuração de armazenamento malloc)
  2. Para o disco/HD (com a configuração de armazenamento de arquivos)

[Há também o cache persistente, menos usado.]

No segundo métido, o vernish sempre irá guardar o cache no disco e confiar no subsistema de memória virtual do sistema operacional para manter as páginas de disco mais usadas na RAM.

Se você estiver usando o Red Hat / CentOS, edite seu /etc/sysconfig/varnish

NFILES=131072
MEMLOCK=82000
VARNISH_VCL_CONF=/etc/varnish/default.vcl
VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
VARNISH_ADMIN_LISTEN_PORT=6082
VARNISH_MIN_THREADS=200
VARNISH_MAX_THREADS=2000
VARNISH_THREAD_TIMEOUT=120
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
VARNISH_STORAGE_SIZE=50%
#VARNISH_STORAGE_SIZE=1G
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
VARNISH_TTL=120

# DAEMON_OPTS is used by the init script.  If you add or remove options, make
# sure you update this section, too.
#             -h classic,500009 \
DAEMON_OPTS="-f ${VARNISH_VCL_CONF} \
             -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
             -t ${VARNISH_TTL} \
             -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \
             -u varnish -g varnish \
             -s ${VARNISH_STORAGE} \
             -p thread_pool_min=200 \
             -p thread_pool_max=2000 \
             -p thread_pools=8 \
             -p listen_depth=4096 \
             -p session_linger=50/100/150 \
             -p lru_interval=60"

Ou

 varnishd -s file,/var/lib/varnish/varnish_storage.bin,50%

50% usará metade do disco disponível. Você também pode usar 10G etc. Ao usar o armazenamento de arquivos, recomenda-se que monte /var/ lib/varnish em um sistema de arquivos ‘not journaled’ (eg ext2) e use noatime e nodiratime ao montar o FS.

In https://serverfault.com/questions/130185/store-varnish-cache-in-hard-disk/130192

Advertisements