URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6967
[ Назад ]

Исходное сообщение
"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 , 26-Мрт-13 18:25 
> Как отразится на пользователей и на работу 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 , 26-Мрт-13 20:22 
>> Как отразится на пользователей и на работу 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"
Отправлено pavlinux , 26-Мрт-13 22:26 
> Может быть, у кого-то есть более детальное предположение, как будет работать SMP
> в случае отключения "Shared memory cache"?

работа squid не сказывается на SMP


"Shared memory cache + SMP"
Отправлено Andrey Mitrofanov , 26-Мрт-13 22:48 
>> Может быть, у кого-то есть более детальное предположение, как будет работать SMP
>> в случае отключения "Shared memory cache"?
> работа squid не сказывается на SMP

Он про "SMP mode" http://www.squid-cache.org/Doc/config/workers/ самого http://wiki.squid-cache.org/Features/SmpScale сквида.

Чего ты пристал к человеку? Пусть себе мучается.


"Shared memory cache + SMP"
Отправлено Dionis80 , 26-Мрт-13 20:22 
Продолжая изучать оригинальный сайт 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 , 26-Мрт-13 20:23 
На форуме http://www.linux.org.ru/forum/admin/8998367 подкинули интересную идею:

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

Спасибо Kuzz!