У нас Varnish 3.0.2 работает на Linux от Amazon, и он отлично работает. У нас есть 48 часов для большинства страниц с контентом и гораздо больше для изображений, PDF-файлов и т. Д.
В эти выходные мы остановили серверную часть на некоторое обслуживание, поэтому я увеличил ttl до 5 дней в начале недели. Я предполагал, что все, что находится в кеше, будет продолжать обслуживаться до 5 дней, но, к нашему большому разочарованию, мы проверили varnishstat
Этим утром кеш был почти полностью пуст, а лак обслуживал сообщения «страница не найдена».
Я знаю, что Varnish предназначен не для этого, но зачем ему сбрасывать кеш, когда бэкэнд не работает? И как я могу предотвратить это в следующий раз?
Обновление 2012-06-11: После просмотра / var / log / messages я вижу каждые 3 часа или около того:
Jun 9 03:56:31 idea-varnish varnishd[1128]: Manager got SIGINT
Jun 9 03:56:33 idea-varnish varnishd[6708]: Platform: Linux,3.2.18-1.26.6.amzn1.x86_64,x86_64,-smalloc,-smalloc,-hcritbit
Jun 9 03:56:33 idea-varnish varnishd[6708]: child (6709) Started
Jun 9 03:56:33 idea-varnish varnishd[6708]: Child (6709) said Child starts
Я предполагаю, что это сбой сервера и стирание всех объектов в памяти. Я только что установил -debuginfo rpm, но не уверен, что он действительно покажет что-нибудь еще.
Я предположил, что мы могли бы снова переключиться на дисковое хранилище во время запланированного простоя? или в любом случае такой сбой сотрет это?
Может быть, процесс лака возобновился? В varnishstat есть счетчик времени безотказной работы. При определенных обстоятельствах рабочий поток varnish может умереть, но он немедленно перезапускается. Когда все работает нормально, это может остаться незамеченным, но с (запланированным) временем простоя серверной части это может быть довольно неудобно.