Добрый день!
Помогите, пожалуйста, разобраться, как работает механизм "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
> Как отразится на пользователей и на работу Squid отключение "memory_cache_shared off".Картинка прилетит на 100 микросекунд позже.
> Что будет с объектами превышающими 32KB с включенной "Shared memory cache" но с maximum_object_size больше чем 32KB.
Currently, entities exceeding 32KB in size cannot be shared.
>> Как отразится на пользователей и на работу 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"?
> Может быть, у кого-то есть более детальное предположение, как будет работать SMP
> в случае отключения "Shared memory cache"?работа squid не сказывается на SMP
>> Может быть, у кого-то есть более детальное предположение, как будет работать SMP
>> в случае отключения "Shared memory cache"?
> работа squid не сказывается на SMPОн про "SMP mode" http://www.squid-cache.org/Doc/config/workers/ самого http://wiki.squid-cache.org/Features/SmpScale сквида.
Чего ты пристал к человеку? Пусть себе мучается.
Продолжая изучать оригинальный сайт 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. Возможно ищу плохо? )
На форуме http://www.linux.org.ru/forum/admin/8998367 подкинули интересную идею:> http://wiki.squid-cache.org/ConfigExamples/SmpCarpCluster
> В backend.conf включить icp, чтоб они друг у друга могли запрашивать данныеСпасибо Kuzz!