squid.conf по-русски. Секция Tuning The Cache

Перевод подготовила команда проекта http://break-people.ru

Секция: TUNING THE CACHE
-----------------------------------------------------------------------------

TAG: cache

Этот тэг позволяет определить объекты, которые НЕ(!) будут кэшироватся. Объекты задаются через ACL. При совпадении с ACL, объект будет братся напрямую.

Другими словами, используйте этот тэг для объектов, которые не должны кэшироватся.

Вы должны использовать слово 'DENY' для указания того, что объекты совпадающие с этим ACL НЕ(!) должны кэшироватся.

По умолчанию, разрешено кэшировать ВСЕ объекты.

Разработчики Squid рекомендуют использовать следующие две строчки:

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

TAG: refresh_pattern

Этот тэг позволяет настраивать дополнительные параметры оптимизации кэширования. Эти настройки помогают Squid определить, брать объект для пользователя из кэша, или этот объект уже устарел в кэше, и нужно скачать этот объект у первоисточника заново.

Использование:

refresh_pattern [-i] regex min percent max [options]

По умолчанию, регулярные выражения РЕГИСТРОЗАВИСИМЫ. Для того, чтобы сделать их регистроНЕзависимыми используйте опцию -i.

Min

минимальное время(в минутах) для объектов, которым оно не задано явно, в течение которого они(объекты) считаются "свежими". Рекомендуемое значение 0. Увеличение этого значения может стать причиной некоторых ошибок в приложениях идущих через Squid в Интернет. Например, при обращении к некоторому объекту он может быть выдан из кэша, в то время как программе нужен "свежий", актуальный в это конкретное время объект. В этой связи, для обработки некоторых данных, в приложение может поступить устаревшая информация, что повлечет за собой ошибочность конечного результата.

Percent

процент от возраста объекта(время прошедшее с момента последнего изменения). В течение полученного времени объект считается "свежим".

Max

максимальное время(в минутах) для объектов, которым оно не задано явно, в течение которого они(объекты) считаются "свежими".

=======Опции========

override-expire

использовать установленное минимальное время "свежести" объектов, если сервер отправляет заголовок Expires. Т.е. что объект устарел. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.

override-lastmod

использовать установленное минимальное время "свежести" объектов, которые были изменены недавно.

reload-into-ims

изменяет клиентские запросы 'no-cache' или 'reload' на 'If-Modified-Since'. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.

ignore-reload

игнорирование клиентских заголовков 'no-cache' или 'reload'. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.

ignore-no-cache

игнорировать заголовки 'Pragma: no-cache' и 'Cache-control: no-cache' принятые от сервера. HTTP RFC никогда не разрешало использовать Pragma заголовки серверами. Это разрешается только клиентам, но сервера все равно отсылают эти заголовки.

ignore-private

игнорировать заголовки 'Cache-control: private' принятые от сервера. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.

ignore-auth

кэшировать ответы на запросы авторизации, если внешний(оригинальный) сервер отправил заголовок 'Cache-control: public' в ответе. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.

Механизм действия:

FRESH if expires < now, else STALE
STALE if age > max
FRESH if lm-factor < percent, else STALE
FRESH if age < min
else STALE

Примечание break-people.ru:
А теперь механизм по-русски:
СВЕЖИЙ если время_когда_истекает_свежесть < текущее время(время сейчас),
иначе УСТАРЕЛ
УСТАРЕЛ если возраст > максимальный_возраст(Max)
СВЕЖИЙ если возраст_с_последнего_изменения <
процент_от_максимального_возраста_объекта, иначе УСТАРЕЛ
СВЕЖИЙ если возраст < минимальный_возраст(Min)
иначе УСТАРЕЛ

Тэги refresh_pattern проходятся по порядку сверху вниз. Первое совпадение и будет использоватся. Если совпадений не найдено, то будут использоватся настройки по умолчанию.

Рекомендуемые настройки:

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

TAG: quick_abort_min (KB)
TAG: quick_abort_max (KB)
TAG: quick_abort_pct (percent)

Эти тэги устанавливают докачку объектов в кэш, если клиент оборвал соединение. Кэш по умолчанию продолжает докачивать объект если осталось менее 16 килобайт, даже если клиент отменил запрос. Это нежелательно на медленных линиях и/или очень загруженных прокси-серверах.

Когда пользователь отменяет запрос, Squid проверяет значения тэгов quick_abort.

Если осталось докачать 'quick_abort_min' килобайт, то Squid докачает.

Если осталось докачать более чем 'quick_abort_max' килобайт, то Squid оборвет закачку.

Если более чем 'quick_abort_pct' процентов закачано, то Squid докачает.

Если вы хотите, чтобы Squid никогда не докачивал после отмены запроса клиентом, то установите оба тэга 'quick_abort_min' и 'quick_abort_max' в значение '0 KB'.

Если вы хотите, чтобы Squid всегда докачивал объекты, которые будут кэшироватся, то установите значение тэга 'quick_abort_min' в '-1 KB'.

По умолчанию:

quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95

TAG: read_ahead_gap buffer-size

Этот тэг устанавливает количество данных подлежащих буферизации прежде, чем отправить их клиенту.

По умолчанию:

read_ahead_gap 16 KB

TAG: negative_ttl time-units

Этот тэг устанавливает TTL(время жизни) кэшированных сообщений об ошибках(например, "connection refused" или "404 Not Found"). По умолчанию 5 минут. Помните, есть разница между этими сообщениями об ошибках и сообщениями об ошибках связанных с DNS поиском записей.

По умолчанию:

negative_ttl 5 minutes

TAG: positive_dns_ttl time-units

Этот тэг устанавливает TTL(время жизни) кэшированных корректных DNS ответов. По умолчанию, 6 часов(360 минут). Этот тэг должен иметь значение выше значения в negative_dns_ttl.

По умолчанию:

positive_dns_ttl 6 hours

TAG: negative_dns_ttl time-units

Этот тэг устанавливает TTL(время жизни) кэшированных сообщений об ошибках DNS поиска. Минимальное значение - 1 секунда, но не рекомендуется ставить это значение меньше 10 секунд.

По умолчанию:

negative_dns_ttl 1 minute

TAG: range_offset_limit (bytes)

Этот тэг устанавливает возможность запроса файла по частям(по кускам), прежде чем Squid получит файл полностью. Если часть(кусок) файла находится за пределами значения этого тэга, то эта часть НЕ кэшируется.

Это позволяет Squid блокировать запросы к части файла начинающейся например с семнадцатого мегабайта. Брать файл по кускам - обычная практика современных закачивающих программ.

Значение -1 сообщает Squid закачивать файл начиная с начала файла, даже если пользователь запросил какую-то часть файла. Затем он кэширует этот объект и выдает пользователю. (2.0 стиль (имеется ввиду такое принято в ветке 2.0 Squid))

Значение 0 сообщает Squid не закачивать более чем, запросил клиент. (по умолчанию)

По умолчанию:

range_offset_limit 0 KB

TAG: minimum_expiry_time (seconds)

Этот тэг устанавливает минимальное время кэширования объектов в соответствии с (Expires - Date) заголовками. В обратном прокси может быть желательным установить меньшее время жизни объектов в кэше. Однако, лучший вариант - когда ваш сервер будет обрабатывать более значимый заголовок - Last-Modified.

По умолчанию:

minimum_expiry_time 60 seconds

TAG: store_avg_object_size (kbytes)

Этот тэг определяет средний размер объектов в кэше. Это необходимо для подсчитывания количества объектов, которое может находится в вашем кэше. По умолчанию, 13 KB.

По умолчанию:

store_avg_object_size 13 KB

TAG: store_objects_per_bucket

Этот тэг определяет количество объектов на хэш-корзину. Уменьшение этого значения увеличивает общее количество корзин. По умолчанию, 20.

По умолчанию:

store_objects_per_bucket 20



Ссылки:

К содержанию
Squid на практике
Работа с Squid через Webmin
Анализатор логов Squid

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика