Я использую Varnish 3.0.3 (последний на момент написания этой статьи) с более или менее установкой по умолчанию, используя для хранения следующее:
# # 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}"
#
Большинство страниц, которые могут быть кэшированы, будут иметь очень длинный TTL. Сайт, с которым я работаю, огромен и имеет миллионы страниц, которые не могут вписаться в размер хранилища, указанный выше (4 ГБ).
Настройтесь на вопросы:
Давайте предположим, что все пространство памяти заполнено, а срок хранения в кэше еще не истек (мой TTL составляет 2 недели на каждый элемент в кэше).
Я предполагаю, что Ban Lurker здесь бесполезен, потому что он будет удалять только те элементы, срок действия которых истек, а срок действия ни одного не истек.
Вопросов:
Учитывая приведенный выше сценарий, что происходит с Varnish, когда поступают дополнительные запросы на то, чего еще нет в кэше? Делает ли Varnish какие-либо попытки удалить более старые элементы из кэша, независимо от TTL этих элементов? Лак падает? Повесьте?
Если Varnish не справляется со сценарием, могу ли я что-то сделать, чтобы настроить его для лучшей обработки сценария? (Я мог бы явно понизить TTL элементов в кеше, но мне интересно, есть ли дополнительные предложения).
В этом сценарии я вижу, что Varnish перестает отвечать на запросы. В тот момент, когда это происходит, мне не хватает памяти или процессора на коробке.
Спасибо.
Следовать за:
Я тоже видела этот пост
который указал мне на
который, кажется, указывает на то, что все «просто происходит» ... но похоже, что он действительно отправляет запрос PURGE для URL, что может потребовать добавления соответствующего материала в ваш VCL (см. https://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )
Я собираюсь попробовать это и продолжу, если это решит проблему.
Ответы:
Согласно вашей настройке, вы, кажется, используете диск для хранения кеша лака.
Это не рекомендуется ( для производительности ), если у вас нет веских причин (например, sinni800).
Попробуйте использовать оперативную память для хранения кэша лака («malloc» вместо «file») и воспроизведите проблему.
источник