The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Рассчитать cache_dir и cache_mem s SQUID"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (Squid)
Изначальное сообщение [ Отслеживать ]

"Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от mrrc email(ok) on 05-Мрт-05, 10:47 
Почитал материалы и темы, описывающие принципы вычисления L1 L2 в cache_dir, а также выделение cache_mem под это дело. Особой ясности в цифрах все же нет, поэтому лучше выслушать мнения по проблеме.

Появляется шлюз на базе FreeBSD 4.11-STABLE с CELERON-2000, IDE 80.0GB и 1GB DDR RAM (SWAP предполагаю сделать 2GB), Squid-2.5.STABLE7 (пока нужна именно эта версия). Нагрузка на прокси будет средняя с последующим постепенным возрастанием.

Хотел выделить под кэш Squid-а порядка 50GB (51200MB), хотя судя из просмотренного материала по данной теме для нормальной работы такого кэша потребуется >600-800MB оперативной памяти. Ресурсы машины, в общем-то, позволяют это сделать, но не будет ли все-таки Squid тормозить? Может быть, стоит уменьшить кэш для увеличения производительности системы в целом? Если нет, то как правильно вычислить L1 L2 в cache_dir для кэша в 50GB? И сколько все же отдать памяти в cache_mem, учитывая то, что это значение в памяти реально будет в 2-3 раза больше указанного.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от Андрей Слободяник on 05-Мрт-05, 12:14 
Я скажу свое субъективное "имхо", а пусть гуру поправят.
Есть L1 директорий. В каждой - L2 поддиректорий. В каждой из поддиректорий снова по L2 файлов. Итого: L1*L2*L2 объектов. Для стандартных 16 256 получаем: 16*256*256=1048576 "мегабайт" объектов. Средний размер объектов - эмпирические 13 кбайт.

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

cache_mem отвечает за хранение закешированных объектов в оперативке. В большинстве случаев этот параметр можно ставить весьма малым, учитывая что в большинстве случаев объект берется всё-таки из _дискового_ кеша, а не из _оперативного_.

Вообще же, ещё зависит от деятельности юзеров: если они (гипотетически) каждый раз лазят на всё новые страницы - сквид вообще не нужен, а если все в инет-клубе дружно рубятся в combats.ru (как у меня), то при 4Гб кеша и 32M cache_mema получается средний Request Hit Ratio - 60.0 %, Byte Hit Ratio - 30 %.

Мониторить хорошо MRTG через snmp, настройки - здесь же, на опен.нете.

Касательно swap-а и политики его использования - я так и не понял. На мой взгляд, при современных объемах RAMa - 512-1024Gb его лучше не использовать - зачем лишние дисковые тормоза? Но если не включать совсем, то при неправильном расходе памяти, может что-то не загрузиться/выгрузиться, что на сервере весьма некстати.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от mrrc email(ok) on 11-Мрт-05, 11:56 
>Я скажу свое субъективное "имхо", а пусть гуру поправят.
>Есть L1 директорий. В каждой - L2 поддиректорий. В каждой из поддиректорий
>снова по L2 файлов. Итого: L1*L2*L2 объектов. Для стандартных 16 256
>получаем: 16*256*256=1048576 "мегабайт" объектов. Средний размер объектов - эмпирические 13 кбайт.
>
>
>Однако большой кеш делать не стоит, всё равно там будут лежать старые
>объекты, под которые хоть дискового места не жалко, но расходуется оперативка
>на их индекс, поиск и т.д. Опять же эмпирически вроде рекомендуется
>делать размер кеша равным недельному трафику.


Пардон, но выслушав несколько мнений по этому поводу для меня так ничего и не прояснилось.
В кэш в 50Gb я конечно размахнулся, надобность в таком объеме действительна сомнительна в силу описанных и понимаемых причин, а вот как рассчитать все же L1 для каждого случая так и не понятно. Значение L2 остается неприкасаемо, как правило, и равно всегда значению 256.

Одни рассчитывают исходя из некого среднего размера объекта в кэше и еще чего-то, что является числом 416, подходящее ко всем случаям:

L1 = cache_dir_size / 416
L2 = 256

Для 20 гигов - cache_dir aufs /var/spool/squid 20000 49 256

Кто-то так:
- "При среднем размере хранимого объекта в 12Kбайт количество файлов для кеша в 50 GB получается 4.2 млн. Я обычно рассчитываю L1 при количестве файлов в каталоге 256 и L2 = 256. Т.е. L1 для 50 GB получается равным 63. Можно просто извлечь кубический корень из числа объектов в кэше."

И главное, L1 при каждом варианте расчета получается разным.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от Андрей Слободяник on 11-Мрт-05, 12:43 
>>Я скажу свое субъективное "имхо", а пусть гуру поправят.
>>Есть L1 директорий. В каждой - L2 поддиректорий. В каждой из поддиректорий
>>снова по L2 файлов. Итого: L1*L2*L2 объектов. Для стандартных 16 256
>>получаем: 16*256*256=1048576 "мегабайт" объектов. Средний размер объектов - эмпирические 13 кбайт.

>сомнительна в силу описанных и понимаемых причин, а вот как рассчитать
>все же L1 для каждого случая так и не понятно. Значение
>L2 остается неприкасаемо, как правило, и равно всегда значению 256.

Далось тебе это L1 :-) Вообще, L1 и L2 придуманы для того, чтобы миллион объектов (файлов) держать не в одном каталоге, т.е. чтобы была "нормальная" структура файловой системы. Оставь 16 256 - это как раз (смотри выше) на миллион объектов, с учётом среднего размера (13к) хорошо для кеша меньше 13 Гб. Итого - смело пиши: cache_dir ufs /var/cache/squid 4096 16 256

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от mrrc email(ok) on 11-Мрт-05, 20:58 
>
>Далось тебе это L1 :-) Вообще, L1 и L2 придуманы для того,
>чтобы миллион объектов (файлов) держать не в одном каталоге, т.е. чтобы
>была "нормальная" структура файловой системы. Оставь 16 256 - это как
>раз (смотри выше) на миллион объектов, с учётом среднего размера (13к)
>хорошо для кеша меньше 13 Гб. Итого - смело пиши: cache_dir
>ufs /var/cache/squid 4096 16 256

Нет, 4Gb меня не устроят, пользователей будет несколько сотен и все завернуты на Squid, 20-30Gb выделяю под это дело.
Для чего нужны L1 и L2 понятно, но все-таки должны они как-то рассчитываться в зависимости от выделяемого объема под кэш. Неужели сами разработчики не реализовали механизм просчета данных значений пользователями.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

2. "Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от ipmanyak (??) on 05-Мрт-05, 13:17 
более 2 гигов думаю нет смысла делать кэш, будет заниматься перебором больших индексов, трафик может и скэкономишь, но скорость доступа будет явно низковата. расчет памяти в ОЗУ  смотри здесь http://www.squid-cache.org/Doc/FAQ/FAQ-8.html#ss8.11

в целом примерно так  - 10 мег на каждый гиг КЭШа + cache_mem + 10-20MB
cache_mem на твое усмотрение, раз оперативы много, можно поставить например 128 мег, в процессе эксплутацаии подкрректируешь нужные параметры, перидоически анализируй
http://www.squid-cache.org/Doc/FAQ/FAQ-8.html#ss8.5

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Рассчитать cache_dir и cache_mem s SQUID"  +/
Сообщение от tremor on 14-Май-09, 09:44 
А есть ли смысл делать 2 кэша? Например у меня половина траффика уходит на e1.ru, гигабайтами прет с него трафф, остальная половина с других сайтов, везде по мелочи. Много разных сайтов. Дак вот e1.ru постоянно держать бы в кеше, но если кэш один, то он будет постоянно перетираться "свободными радикалами" - разными сайтами, день ото дня. Если его сделать гига 2-4, то на e1.ru конечно хватит, но все равно, как я понимаю, эти ежедневно-новые сайты, будут "гадить" в кэш. Так что гиг бы на е1 и еще гиг на все остальное? Ну как есть смысл в моих размышлениях? (имею 70 юзеров, месячный трафф около 20 ГБ)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Рассчитать cache_dir и cache_mem s SQUID"  –1 +/
Сообщение от Hayk Hayrapetan email on 10-Окт-09, 12:50 
>А есть ли смысл делать 2 кэша? Например у меня половина траффика
>уходит на e1.ru, гигабайтами прет с него трафф, остальная половина с
>других сайтов, везде по мелочи. Много разных сайтов. Дак вот e1.ru
>постоянно держать бы в кеше, но если кэш один, то он
>будет постоянно перетираться "свободными радикалами" - разными сайтами, день ото дня.
>Если его сделать гига 2-4, то на e1.ru конечно хватит, но
>все равно, как я понимаю, эти ежедневно-новые сайты, будут "гадить" в
>кэш. Так что гиг бы на е1 и еще гиг на
>все остальное? Ну как есть смысл в моих размышлениях? (имею 70
>юзеров, месячный трафф около 20 ГБ)

i tak, nikto normalno nichego ne skazal , s chem i pozdravlyayu vas!!!!!!!

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру