The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Shared memory cache + SMP, !*! Dionis80, 26-Мрт-13, 08:12  [смотреть все]
Добрый день!
Помогите, пожалуйста, разобраться, как работает механизм "Shared memory cache" в связке c технологией SMP.
Дело в том, что при настройки SMP столкнулся c Очень не приятным ограничением: Currently, entities exceeding 32KB in size cannot be shared.
http://www.squid-cache.org/Doc/config/memory_cache_shared/
Если maximum_object_size указать больше 32KB в логах появляется следующее сообщение:
WARNING: disk-cache maximum object size is too large for mem-cache: 102400.00 KB > 32.00 KB

Поиск показал, что это пока конструктивная особенность SMP:
http://www.squid-cache.org/mail-archive/squid-users/201110/0...
http://www.squid-cache.org/mail-archive/squid-dev/201207/018...

Интересуют вопросы такого рода:
Как отразится на пользователей и на работу Squid отключение "memory_cache_shared off".
Что будет с объектами превышающими 32KB с включенной "Shared memory cache" но с maximum_object_size больше чем 32KB.

ОС: CentOS 6.3 x86_64
Squid Cache: Version 3.2.9
configure options:  '--build=x86_64-unknown-linux-gnu' '--host=x86_64-unknown-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-arp-acl' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-referer-log' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl' '--enable-storeio=aufs,diskd,ufs' '--enable-useragent-log' '--enable-wccpv2' '--enable-esi' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' 'build_alias=x86_64-unknown-linux-gnu' 'host_alias=x86_64-unknown-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fpie' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fpie' 'PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig' '--enable-zph-qos' '--with-large-files' '--enable-kill-parent-hack' '--enable-async-io' '--disable-ipv6' '--enable-htcp' '--enable-carp' --enable-ltdl-convenience

  • Shared memory cache + SMP, !*! pavlinux, 18:25 , 26-Мрт-13 (1) –1
    > Как отразится на пользователей и на работу Squid отключение "memory_cache_shared off".

    Картинка прилетит на 100 микросекунд позже.

    > Что будет с объектами превышающими 32KB с включенной "Shared memory cache" но с maximum_object_size больше чем 32KB.

    Currently, entities exceeding 32KB in size cannot be shared.

    • Shared memory cache + SMP, !*! Dionis80, 20:22 , 26-Мрт-13 (2)
      >> Как отразится на пользователей и на работу Squid отключение "memory_cache_shared off".
      > Картинка прилетит на 100 микросекунд позже.
      >> Что будет с объектами превышающими 32KB с включенной "Shared memory cache" но с maximum_object_size больше чем 32KB.
      > Currently, entities exceeding 32KB in size cannot be shared.

      Может быть, у кого-то есть более детальное предположение, как будет работать SMP в случае отключения "Shared memory cache"?

  • Shared memory cache + SMP, !*! Dionis80, 20:22 , 26-Мрт-13 (3)
    Продолжая изучать оригинальный сайт squid-cache.org я пока остановился на таком выводе, что при отключении «maximum_object_size» у процессов, по сути, останется общим только:

    http://wiki.squid-cache.org/Features/SmpScale
    • Squid executable,
    • general configuration,
    • listening ports,
    • logs,

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

    Например: В случае, если при первом подключении клиент подключится через первый процесс, а при втором через второй процесс, и запросит одну и туже информацию, данные будут скачены из интернета ДВАЖДЫ и ПРОДУБЛИРОВАНЫ в обоих кэшах.

    Интересно, как в таком случае будет поделена оперативная память? Например, если в конфиге указать: cache_mem 4096 MB то каждому процессу будет выделено 4096 MB, либо данный объём будет поделен поровну на количество процессов SMP?

    Почему-то на оригинальном сайте не могу найти подробного описания "Shared memory cache" и SMP. Возможно ищу плохо? )

  • Shared memory cache + SMP, !*! Dionis80, 20:23 , 26-Мрт-13 (4)
    На форуме http://www.linux.org.ru/forum/admin/8998367 подкинули интересную идею:

    > http://wiki.squid-cache.org/ConfigExamples/SmpCarpCluster
    > В backend.conf включить icp, чтоб они друг у друга могли запрашивать данные

    Спасибо Kuzz!




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

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