Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
9
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

16.4 Как размер кэша дайджест на Squid определяется?

После инициализации, емкость установлена ​​на количество объектов, которые могут быть (являются) хранится в кэше. Заметим, что существует верхний и нижний пределы здесь.

Произвольной постоянной, bits_per_entry (в настоящее время до 5), используется для вычисления размера массива с помощью следующей формулы:

Число битов в массиве = емкость * bits_per_entry + 7

Размер дайджеста в байтах, поэтому:

дайджест размер = (INT число битов в массиве / 8)

Когда происходит перестроение дайджеста, изменение размера кэша (мощность) измеряется. Если емкость изменилась на достаточно большое количество (10%), то массив дайджест освободить и переместить памяти, так же дайджест использовать повторно.

16.5 Что хэш-функции (и сколько их) а Squid использовать?

Протокол конструкция позволяет переменное количество хеш-функции (к). Тем не менее, кальмара использует очень эффективный метод с использованием фиксированного числа - четыре.

Вместо вычисления числа независимых хеш-функции над URL Squid использует 128-битный хеш MD5 ключа (на самом деле сочетание URL и HTTP метод поиска), а затем разбивает ее на четыре равные части.

Каждый блок, модуль размером Digest (м), используется в качестве значения для одной из хеш-функции - т.е. индекс в битовый массив.

Примечание: как кальмары извлекает объекты и сохраняет их в своем кэше на диске, добавляет их в RAM-индекс, используя ключ поиска, который является MD5 Hash - тот самый, описанных выше. Это означает, что значения для Cache Digest хэш-функции уже доступны и, следовательно, операция очень эффективны!

Очевидно, что изменение кода для поддержки переменное количество хеш-функции, окажется немного более сложной и, скорее всего, снижение эффективности.

16.6 Как объекты добавляются в кэш дайджест на Squid?

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

Ряд объектов не подходят, например, те, которые являются частными, а не кэшировать, негативно кэшировать и т.д. пропускаются немедленно.

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

Поскольку Squid хранит ссылки на объекты в его индекс, используя ключ MD5 обсуждалось ранее нет URL фактически доступных для каждого объекта - это означает, что шаблон, используемый вернется к стандартным шаблоном, ".". Это прискорбное положение дел, но мало что можно сделать по этому поводу. Cd_refresh_pattern опции будут добавлены в файл конфигурации скоро, который по крайней мере сделает путаницы немного понятнее :-)

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

16,7 Ли Squid поддержки делеции в кэш дайджесты? Каковы различий / дельт?

Squid не поддерживает удалений из дайджеста. Из-за этого сборника должны периодически, быть восстановлен с нуля, чтобы стереть устаревшие биты и предотвращения загрязнения дайджеста.

Более сложный вариант заключается в использовании различий или дельт . Они будут созданы за счет строительства нового дайджеста и сравнения с текущим / старый. Они, по существу, состоит из агрегированных изъятия и дополнения с предыдущими дайджеста.

Поскольку меньше пропускной способности следует требовать использования этих можно было бы иметь более частое обновление (и, следовательно, более точную информацию).

Расходы:

  • ОЗУ - дополнительной оперативной памяти ей пришлось провести два дайджесты в то время как сравнение происходит.

  • CPU - вероятно, незначительное количество.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]