Доброго времени суток.
Возник вопрос - как работает алгоритм замещения объектов в кэше сквида и пользуется ли кто-нибудь алгоритмами отличными от lru?
>Доброго времени суток.
>Возник вопрос - как работает алгоритм замещения объектов в кэше сквида и
>пользуется ли кто-нибудь алгоритмами отличными от lru?так в самом же конфиге все написано!
еще посмотри http://www.bog.pp.ru/work/squid.html#LRU
>>Доброго времени суток.
>>Возник вопрос - как работает алгоритм замещения объектов в кэше сквида и
>>пользуется ли кто-нибудь алгоритмами отличными от lru?
>
>так в самом же конфиге все написано!
>еще посмотри http://www.bog.pp.ru/work/squid.html#LRUТы думаешь я не читал..
Вот что на bog boss написано (примерно то же, что и в конфиге)Squid поддерживает размер кеша между low и high, регулярно запуская процедуру удаления объектов (чем ближе мы к high, тем агрессивнее очистка). Вместо удаления можно использовать очистку файлов (truncate) пока хватает inode. Удаление производится асинхронно внешней программой unlinkd. Если объект тянется в данный момент, то он не удаляется. Если объект "отрицательно кеширован", то он удаляется. Если объект частный, то он удаляется. Алгоритмы замешения:
LRU. Если время с последнего использования объекта больше некой границы (threshold), то объект удаляется. Граница динамически вычисляется на основе заполненности кеша и low/high маркеров (начальное/максимальное значение задается в squid.conf). При стабилизации размера кеша граница представляет время полного заполнения (замещения) кеша в текущих условиях (типичное значение от 1 до 10 дней; если меньше 3 дней, то рекомендуется увеличить кеш).
GDSF. Стремится удержать маленькие полулярные объекты (растет hitrate, падает byterate).
LFUDA. hitrate падает, byterate - растет.Сравнение алгоритмов проводится в
Enhancement and Validation of Squid's Cache Replacement Policy
Evaluating Content Management Techniques for Web Proxy CachesНе понятно, что есть hitrate и bitrate ? И какие преимущества я получу, если включу их вместо стандартного...?
>Не понятно, что есть hitrate и bitrate ? И какие преимущества я
>получу, если включу их вместо стандартного...?
hitrate (он же object hit rate) - доля попаданий в кэш по количеству файлов (т.е. hitrate 10% - это означает, что 10% файлов было взято из кэша)
bitrate (он же byte hit rate) - доля попаданий в кэш по количеству информации (т.е. bitrate 10% - это означает, что 10% байт было взято из кэша)# The heap GDSF policy optimizes object hit rate by keeping smaller
# popular objects in cache so it has a better chance of getting a
# hit. It achieves a lower byte hit rate than LFUDA though since
# it evicts larger (possibly popular) objects.
#
# The heap LFUDA policy keeps popular objects in cache regardless of
# their size and thus optimizes byte hit rate at the expense of
# hit rate since one large, popular object will prevent many
# smaller, slightly less popular objects from being cached.
#
# Both policies utilize a dynamic aging mechanism that prevents
# cache pollution that can otherwise occur with frequency-based
# replacement policies.
#
# NOTE: if using the LFUDA replacement policy you should increase
# the value of maximum_object_size above its default of 4096 KB to
# to maximize the potential byte hit rate improvement of LFUDA.
и чего тут непонятного?
>>Не понятно, что есть hitrate и bitrate ? И какие преимущества я
>>получу, если включу их вместо стандартного...?
>hitrate (он же object hit rate) - доля попаданий в кэш по
>количеству файлов (т.е. hitrate 10% - это означает, что 10% файлов
>было взято из кэша)
>bitrate (он же byte hit rate) - доля попаданий в кэш по
>количеству информации (т.е. bitrate 10% - это означает, что 10% байт
>было взято из кэша)
>
># The heap GDSF policy optimizes object hit rate by keeping smaller
>
># popular objects in cache so it has a better chance of
>getting a
># hit. It achieves a lower byte hit rate than LFUDA
>though since
># it evicts larger (possibly popular) objects.
>#
># The heap LFUDA policy keeps popular objects in cache regardless of
>
># their size and thus optimizes byte hit rate at the expense
>of
># hit rate since one large, popular object will prevent many
># smaller, slightly less popular objects from being cached.
>#
># Both policies utilize a dynamic aging mechanism that prevents
># cache pollution that can otherwise occur with frequency-based
># replacement policies.
>#
># NOTE: if using the LFUDA replacement policy you should increase
># the value of maximum_object_size above its default of 4096 KB to
>
># to maximize the potential byte hit rate improvement of LFUDA.
>и чего тут непонятного?Теперь понятно:) Спасибо за разяснение терминов