Назад | Перейти на главную страницу

Как сохранить кеширование Varnish заполненным после бэкэнд-процесса в течение длительного периода?

У нас 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 может умереть, но он немедленно перезапускается. Когда все работает нормально, это может остаться незамеченным, но с (запланированным) временем простоя серверной части это может быть довольно неудобно.