The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Рассчитать cache_dir и cache_mem s SQUID, !*! mrrc, 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 раза больше указанного.

  • Рассчитать cache_dir и cache_mem s SQUID, !*! Андрей Слободяник, 12:14 , 05-Мрт-05 (1)
    Я скажу свое субъективное "имхо", а пусть гуру поправят.
    Есть 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 его лучше не использовать - зачем лишние дисковые тормоза? Но если не включать совсем, то при неправильном расходе памяти, может что-то не загрузиться/выгрузиться, что на сервере весьма некстати.

    • Рассчитать cache_dir и cache_mem s SQUID, !*! mrrc, 11:56 , 11-Мрт-05 (3)
      >Я скажу свое субъективное "имхо", а пусть гуру поправят.
      >Есть 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 при каждом варианте расчета получается разным.

      • Рассчитать cache_dir и cache_mem s SQUID, !*! Андрей Слободяник, 12:43 , 11-Мрт-05 (4)
        >>Я скажу свое субъективное "имхо", а пусть гуру поправят.
        >>Есть 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

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

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

  • Рассчитать cache_dir и cache_mem s SQUID, !*! ipmanyak, 13:17 , 05-Мрт-05 (2)
    более 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

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

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




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

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