Я запускаю кеш Squid (3.1) перед Django. Содержание сайта меняется не очень часто, поэтому Squid дает нашему бэкэнду столь необходимую передышку.
В настоящее время мы используем этот шаблон обновления для кэширования содержимого:
refresh_pattern. 60 100% 60 Мы в основном хотим кэшировать все по крайней мере на час (и только на час), прежде чем Squid повторно проверит содержимое.
У меня вопрос по параметру "100%", который устанавливает lm-фактор.
Я не уверен, что установка этого значения на 100% делает то, что мы хотим. Предполагалось, что установка значения 100% гарантирует, что объекты останутся в кеше в течение максимального времени кеширования.
Это неверное предположение?
Каковы лучшие практики, которым следует следовать при настройке такого шаблона обновления?
Как говорится в ссылке:
Percent '- это процент от возраста объекта (время с момента последнего изменения возраста), объект без явного срока годности будет считаться новым.
(http://www.squid-cache.org/Doc/config/refresh_pattern/)
Это означает, что для объекта возрастом 1 день и с коэффициентом 50% объект будет считаться новым в течение 12 часов. И, кроме того, он будет считаться свежим хотя бы в течение минимального времени и не более максимального времени.
Идея состоит в том, чтобы считать, что у старого объекта меньше шансов стать устаревшим, чем у нового.
С вашим шаблоном обновления, все объекты кешируются на 60 минут именно поэтому lm-фактор особого значения не имеет. Я бы рекомендовал оставить его на 100%. Я не знаю, что будет с коэффициентом 0%, если кто-то знает?
Lm-фактор был бы более важным, если бы ваше максимальное время было больше минимального.