Warmup votre cache peut être indispensable afin d’éviter un léger pic de charge inutile lorsque vous dirigez du trafic sur une instance fraichement spawn.
La première solution se base sur le sitemap
de votre site. Simple, probablement Quick & Dirty, mais efficace :#!/usr/bin/env bash
while test -n "$1"; do
case $1 in
--sitemap|-s)
sitemap=$2
shift
;;
--http_verb|-h)
http_verb=$2
shift
;;
*)
echo "Unknown argument: $1"
exit 3
;;
esac
shift
done
tmpfile=$(mktemp /tmp/$(basename $0).XXXXXX)
sitemap=${sitemap:='http://myawesometenmillionsvisitorsmediawebsite.tld/sitemap.xml'}
http_verb=${http_verb:='GET'}
curl --silent $sitemap | grep \<loc\> | sed 's/.*<loc>//' | sed 's|</loc>||' \
>> $tmpfile
cat $tmpfile | xargs -I % -n 1 -P 16 curl -X$http_verb %
rm $tmpfile
À noter que vous pouvez également vous en servir pour PURGE le cache en modifiant le verbe HTTP.
La seconde méthode consiste à utiliser varnishreplay :ssh www.varnish-cache.org varnishlog -w - | varnishreplay -a localhost:6081 -r -
Généralement j’utilise la première méthode tout en ajustant le trafic en adaptant le poids de ces nouvelles instances.