squid.conf по-русски. Секция Delay Pool Parameters

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

Секция: DELAY POOL PARAMETERS
-----------------------------------------------------------------------------

Примечание break-people.ru: В переводе, мы не будем переводить словосочетание delay pool. Но договоримся, что оно будет означать - пул задержки, бассейн, пул, полоса. Это сделано для того, чтобы по тексту не возникало путаницы, при использовании нами различных переводов этого словосочетания. Ведь помимо перевода самого текста, мы стараемся сделать так, чтобы текст был понятным и читабельным. Надеемся, на ваше понимание.

TAG: delay_pools

Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией --enable-delay-pools

Этот тэг отвечает за количество используемых delay pools. Например, если у вас есть один delay pool класса 2 и один delay pool класса 3, то вцелом вы имеете 2 delay pool. Соответственно, в этом случае, тэгу следует задать значение равное 2.

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

delay_pools 0

TAG: delay_class

Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией --enable-delay-pools

Этот тэг определяет класс для каждого delay pool. По одному тэгу, на одну строку. Например, для определения двух delay pool, один из которых будет класса 2, а другой - класса 3, ваши настройки будут выглядеть следующем образом:

Пример:

delay_pools 2 # 2 delay pool
delay_class 1 2 # первый delay pool класса 2
delay_class 2 3 # второй delay pool класса 3

Примечание break-people.ru: Помимо того, что мы не будем переводить словосочетание delay pool, ещё останется без перевода слово bucket. Под ним мы часто подразумевают прямой перевод - «ведро». Хотя абстракция ведра не совсем корректна. Мы предлагаем иную абстракцию - «воронка». С широкой стороны стоит Squid, а с узкой - клиент. Форма и размеры воронки регулируются некоторыми параметрами. Соответственно, если Squid "льет" информацию в воронку, значит клиент может её получить. Если в воронке пусто, то клиент ничего не получает. Если Squid заливает в воронку быстрее, чем клиент успевает считывать, то воронка наполнится до краев. И заливатся будет тогда, когда освободится место в воронке. Крайний случай, когда оба конца воронки - одинаковы по размеру. Тогда весь поток, который Squid закачивает в воронку, с той же скоростью он(поток) считывается клиентом. А запросы к серверу идут безо всяких ведер или воронок. НО # запросы не поступят в обработку, пока не освободится место в воронке, т.е. какой смысл Squid закачивать что-то, если это некуда положить.

Классы delay pool:

class 1 Одна воронка, на всех.

class 2 Одна большая общая воронка для «C» сети и по одной(индивидуальной) маленькой воронке на каждый хост(биты с 25 по 32; т.е. 255 маленьких воронок).

class 3 255 больших воронок для каждой «C» сети(так называемая, сетевая(network) воронка; биты с 17 по 24; т.е. 255 больших воронок) и по одной маленькой воронке на каждый хост.

Примечаниие: Если IP адрес представить как a.b.c.d, то:

-> биты с 25 по 32 это класс "d"
-> биты с 17 по 24 это класс "c"
-> биты с 17 по 32 это "c * 256 + d"

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

none

TAG: delay_access

Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией --enable-delay-pools

Этот тэг позволяет определить попадание пользователей в некоторый delay pool, на основе ACL.

Проверка попадания запроса в delay pool, идет по порядку - с первого delay pool по N-ый delay pool. Если запрос попал в какой-либо delay pool, согласно ACL, то проверка прекращается. Если запрос НЕ попадает, ни в один delay pool, то он не задерживаясь идет напрямую к клиенту(по умолчанию).

Например, если вы хотите, чтобы одни клиенты шли через delay pool 1, а другие через delay pool 2, то вам необходимо определить соответствующие ACL. Например, этими ACL будут some_big_clients и lotsa_little_clients. Тогда, чтобы исполнить поставленную задачу, вам следует ввести следующие строки:

Пример:

delay_access 1 allow some_big_clients
delay_access 1 deny all
delay_access 2 allow lotsa_little_clients
delay_access 2 deny all

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

none

TAG: delay_parameters

Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией --enable-delay-pools

Этот тэг позволяет установить параметры для некоторого delay pool. Каждый delay pool имеет некоторое количество воронок, используемое им. Количество этих воронок определяется тэгом delay_class с установкой нужного класса delay pool.

Синтаксис ввода параметров для первого класса(class 1):

delay_parameters pool aggregate

Синтаксис ввода параметров для второго класса(class 2):

delay_parameters pool aggregate individual

Синтаксис ввода параметров для третьего класса(class 3):

delay_parameters pool aggregate network individual

где:

pool номер delay pool. Т.е число между 1 и максимальным количеством delay pool для заданного класса(delay_class).

aggregate параметры для (единственной; общей)воронки(class 1, 2, 3).

individual параметры для маленькой(индивидуальной) воронки(class 2, 3).

network параметры для сетевой(network) воронки(class 3).

Параметры представляют собой пару чисел записанных в формате restore/maximum.

Где restore означает количество байтов(!!!) в секунду, которые будут "вливатся" в воронку, а maximum это объем воронки, т.е. максимальное количество байтов(не битов!!! Скорость на модемах часто пишется в битах), которое можно "влить" в неё.

Примечание break-people.ru: Большое количество восклицательных знаков проставленное в предыдущем абзаце, обязывает пояснить для тех кто не понял, и тех кто в танке, зачем это сделано. Параметры для воронок устанавливаются в БАЙТАХ. Скорость модемов/сетевых карт измеряется в БИТАХ/КИЛОБИТАХ/МЕГАБИТАХ. Провайдер дает Интернет указывая скорость в БИТАХ/КИЛОБИТАХ/МЕГАБИТАХ. Поэтому при выставлении параметров эту разницу следует учитывать. Например, чтобы ограничить скорость закачивания в воронку на уровне 64 КИЛОБИТ в секунду, а размер воронки ограничить на уровне 128 КИЛОБИТ, то переводя в байты получим 64000 / 8 = 8000 байт. Помним, что 64 КИЛОБИТ это 64 * 1000 = 64000 БИТ. По той же схеме 128000 / 8 = 16000 байт. Используя полученные данные записываем delay_parameters 1 8000/16000. Вот и всё.

Например, если вы хотите, чтобы delay pool номер 1, второго класса(class 2) использовался для ограничения скорости в 64 Килобит/с для каждого хоста, то параметры этого delay pool будут следующие:

delay_parameters 1 -1/-1 8000/8000

Помните, что число -1 используется для установки значения "без ограничений"(unlimited)

Или, если вы хотите, чтобы delay pool номер 2 третьего класса(class 3) использовался для:

1) Ограничение общего канала «C» сети, по скорости на уровне 256 килобит/с;
2) Каждая подсеть сети имеет ограничение по скорости на уровне 64 килобит/с;
3) Каждый хост подсети имеет ограничение по скорости на уровне 4800 бит/с с максимальным объемом воронки в 64 килобита. Это позволит нормально просматривать веб-страницы и тормозить большие закачки.

Решение для поставленной задачи выглядит следующим образом:

delay_parameters 2 32000/32000 8000/8000 600/8000

Если не понял как это получилось, прочти наше примечание выше.

Для одного delay pool может использоваться только один тэг delay_parameters.

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

none

TAG: delay_initial_bucket_level (в процентах, 0-100)

Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией --enable-delay-pools

Этот тэг определяет степень наполненности воронки, в процентах, прежде чем клиент сможет с ней(воронкой) работать. Это необходимо потому, что воронки будут пустыми при запуске Squid, перезапуске Squid или при первом обращении клиента к этой воронке. В классах 2 и 3(class 2, class 3) индивидуальные хосты и сети получают свои воронки только тогда, когда Squid "увидит" их. Т.е. хост или сеть обратятся с запросом к Squid.

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

delay_initial_bucket_level 50



Ссылки:

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

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

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

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