|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex L Demidov 2:5051/17 06 Mar 2005 01:00:11 To : "Alexander Pechenin" Subject : Re: Рассчитать cache_dir и cache_mem s SQUID --------------------------------------------------------------------------------
> Почитал материалы и темы, описывающие принципы вычисления L1 L2 в cache_dir,
> а также выделение cache_mem под это дело. Особой ясности в цифрах все же
> нет, поэтому лучше выслушать мнения по проблеме.
>
> Появляется шлюз на базе FreeBSD 4.11-STABLE с CELERON-2000, IDE 80.0GB и 1GB
> DDR RAM (SWAP предполагаю сделать 2GB), Squid-2.5.STABLE7 (пока нужна именно
> эта версия). Hагрузка на прокси будет средняя с последующим постепенным
> возрастанием.
>
> Хотел выделить под кэш Squid-а порядка 50GB (51200MB), хотя судя из
> просмотренного материала по данной теме для нормальной работы такого кэша
> потребуется >600-800MB оперативной памяти. Ресурсы машины, в общем-то,
> позволяют это сделать, но не будет ли все-таки Squid тормозить? Может быть,
> стоит уменьшить кэш для увеличения производительности системы в целом? Если
> нет, то как правильно вычислить L1 L2 в cache_dir для кэша в 50GB? И сколько
> все же отдать памяти в cache_mem, учитывая то, что это значение в памяти
> реально будет в 2-3 раза больше указанного.
параметры L1 и L2 в cache_dir рассчитываются так, чтобы минимизировать
количество записей и соответственно время поиска в каталогах (directory)
дисковой иерархии кэша. При среднем размере хранимого объекта в 12Kбайт
количество файлов для кеша в 50 GB получается 4.2 млн. Я обычно
рассчитываю L1 при количестве файлов в каталоге 256 и L2 = 256. Т.е. L1
для 50 GB получается равным 63. Можно просто извлечь кубический корень
из числа объектов в кэше.
Параметр cache_mem мало влияет на занимаемую squid'ом память, основное
потребление памяти приходиться на информацию о закешированных объектах -
StoreEntry + MD5 digest + LRU policy node = 76 байт для каждого объекта
в дисковом кэше. Т.е. для 50 GB получается 310 Мб памяти только на эти
данные. Плюс 8 Мб на cache_mem по умолчанию. Hо на самом деле памяти
будет съедено еще раза в полтора больше. Еще надо учесть что cache_mem
не определяет верхнюю границу для in-memory cache и в нем хранятся все
in-transit объекты, т.е. если кто-то начнет качать iso-шник, то
cache_mem раздуется до соответствующих размеров.
Для примера - squid с кэшем на 24 GB, 2 млн. объектов на диске. При этом
в Memory Utilization Total = 169962 Kb, из которых StoreEntry + MD5
digest + LRU policy node = 156347 Kb и cache_mem = 8457 Kb. При этом Maximum
Resident Size = 233188 KB
--
Alex L. Demidov (ALD9-RIPE).
--- ifmail v.2.15
* Origin: Home (2:5051/17@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/8956ae2c4b14.html, оценка из 5, голосов 16
|