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

Исходное сообщение
"Не хватает памяти squid??"

Отправлено Orc , 20-Апр-06 12:58 
Настроен сквид для выхода в интернет 500~600 людей, ломящихся в интернет почти одновременно.

избранные места из конфига:

cache_mem 120 MB
cache_dir ufs /var/squid/cache 10000 16 256

redirect_program /usr/local/bin/squidGuard
redirect_children 20

auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMEN+webusers
auth_param ntlm children 32
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate off

auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=DOMEN+webusers
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

Всё пашет нормально, но раз 8-10 в день в логи падают следующие вещи и создаётся core файл, но работа сквида при этом не приостанавливается:

Apr 20 10:17:15 proxyserver kernel: pid 27392 (squid), uid 100: exited on signal 6 (core dumped)
Apr 20 10:17:15 proxyserver squid[22483]: Squid Parent: child process 27392 exited due to signal 6
Apr 20 10:17:18 proxyserver squid[22483]: Squid Parent: child process 32494 started

Иногда попадается и такое:

Apr 18 10:48:49 proxyserver (squid): xcalloc: Unable to allocate 1 blocks of 4108 bytes!

я думаю, что сквиду не хватает памяти, что нужно оттюнинговать чтобы процессы-потомки не валились в core?


Содержание

Сообщения в этом обсуждении
"Не хватает памяти squid??"
Отправлено Sloboda , 20-Апр-06 13:56 
>cache_mem 120 MB
Обычно реальный расход втрое больше. Хватает?

>cache_dir ufs /var/squid/cache 10000 16 256
10 Гб это слишком много. На индекс памяти уйдет изрядно.

Советую в любом случае прикрутить mrtg для слежения за всеми показателями squid.


"Не хватает памяти squid??"
Отправлено Orc , 20-Апр-06 14:00 
>>cache_mem 120 MB
>Обычно реальный расход втрое больше. Хватает?

Ну здесь я поставил это число руководствуясь официальной документацией по сквид, согласно которой на каждый 1 Гб под кэш, нужно здесь выделять 10 Мб памяти + 20-30 мегов на резерв
У меня кэш 10 гигов -> следовательно я и поставил 100+20=120

>
>>cache_dir ufs /var/squid/cache 10000 16 256
>10 Гб это слишком много. На индекс памяти уйдет изрядно.

А сколько порекомендуешь?

>
>Советую в любом случае прикрутить mrtg для слежения за всеми показателями squid.
>

я вот тоже думаю её по любому прикручивать, не посоветуешь где можно почитать по РУССКИ насчет этой проги и способов её прикручивания?


"Не хватает памяти squid??"
Отправлено Дениска , 20-Апр-06 14:06 
>я вот тоже думаю её по любому прикручивать, не посоветуешь где можно
>почитать по РУССКИ насчет этой проги и способов её прикручивания?
гугл знает все.
http://squid.opennet.ru/mrtg/


"Не хватает памяти squid??"
Отправлено Sloboda , 20-Апр-06 15:09 
>Ну здесь я поставил это число руководствуясь официальной документацией по сквид, согласно
>которой на каждый 1 Гб под кэш, нужно здесь выделять 10
>Мб памяти + 20-30 мегов на резерв
>У меня кэш 10 гигов -> следовательно я и поставил 100+20=120

Вообще, в официальной документации сказано:

#  TAG: cache_mem       (bytes)
#       NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS SIZE.
#       IT ONLY PLACES A LIMIT ON HOW MUCH ADDITIONAL MEMORY SQUID WILL
#       USE AS A MEMORY CACHE OF OBJECTS. SQUID USES MEMORY FOR OTHER

То есть, этот параметр регулирует означает размер кеша в оперативной памяти. 8 Mb

>>>cache_dir ufs /var/squid/cache 10000 16 256
>>10 Гб это слишком много. На индекс памяти уйдет изрядно.
>А сколько порекомендуешь?
один гиг

>>Советую в любом случае прикрутить mrtg для слежения за всеми показателями squid.
>я вот тоже думаю её по любому прикручивать, не посоветуешь где можно
>почитать по РУССКИ насчет этой проги и способов её прикручивания?
прям здесь, на опеннете


"Не хватает памяти squid??"
Отправлено Orc , 20-Апр-06 15:42 
>То есть, этот параметр регулирует означает размер кеша в оперативной памяти. 8
>Mb
>

Ты сам то понял что написал? Вот именно там и написано что нужно 10 метров на каждый 1 гиг

>>>>cache_dir ufs /var/squid/cache 10000 16 256
>>>10 Гб это слишком много. На индекс памяти уйдет изрядно.
>>А сколько порекомендуешь?
>один гиг

маловато на самом то деле. Я попробую наверное 4096 мегов поставить.

>
>>>Советую в любом случае прикрутить mrtg для слежения за всеми показателями squid.
>>я вот тоже думаю её по любому прикручивать, не посоветуешь где можно
>>почитать по РУССКИ насчет этой проги и способов её прикручивания?
>прям здесь, на опеннете


спасибо


"Не хватает памяти squid??"
Отправлено Sloboda , 20-Апр-06 16:22 
>>То есть, этот параметр регулирует означает размер кеша в оперативной памяти. 8
>>Mb
>>
>Ты сам то понял что написал? Вот именно там и написано что
>нужно 10 метров на каждый 1 гиг

Ну ты упорный!

http://www.squid-cache.org/Doc/FAQ/FAQ-8.html
Пункт 8.9
Reduce the cache_mem parameter in the config file. This controls how many ``hot'' objects are kept in memory.

Пункт 8.11
As a rule of thumb on Squid uses approximately 10 MB of RAM per GB of the total of all cache_dirs (more on 64 bit servers such as Alpha), plus your cache_mem setting and about an additional 10-20MB. It is recommended to have at least twice this amount of physical RAM available on your Squid server.

Слово "plus" видишь?

А реально жрёт еще больше и, если добирается до свопа, начинаются тормоза.


"Не хватает памяти squid??"
Отправлено Orc , 20-Апр-06 17:06 
>>>То есть, этот параметр регулирует означает размер кеша в оперативной памяти. 8
>>>Mb
>>>
>>Ты сам то понял что написал? Вот именно там и написано что
>>нужно 10 метров на каждый 1 гиг
>
>Ну ты упорный!
>
>http://www.squid-cache.org/Doc/FAQ/FAQ-8.html
>Пункт 8.9
>Reduce the cache_mem parameter in the config file. This controls how many
>``hot'' objects are kept in memory.
>
>Пункт 8.11
>As a rule of thumb on Squid uses approximately 10 MB of
>RAM per GB of the total of all cache_dirs (more on
>64 bit servers such as Alpha), plus your cache_mem setting and
>about an additional 10-20MB. It is recommended to have at least
>twice this amount of physical RAM available on your Squid server.
>
>
>Слово "plus" видишь?
>
>А реально жрёт еще больше и, если добирается до свопа, начинаются тормоза.
>

т.е. по твоему надо ставить 8 мегов?


"Не хватает памяти squid??"
Отправлено Sloboda , 20-Апр-06 17:38 
>т.е. по твоему надо ставить 8 мегов?

Я сам ещё не волшебник, только учусь. Всё нижеследующие - имхо.

Вообщем, cache_mem задает кеш в памяти. Т.е. реальный кеш - cache_dir - лежит на винте (в памяти его индекс, между прочим), а в cache_mem лежат "горячие" объекты. Т.е. если, скажем, считали картинку с диска и отдали юзеру, то зачем её с памяти вытирать? Вот она и лежит в cache_mem.

Это логика сквида. Но линукс (с другими *никсами не знаком) свободную ОЗУ отводит под дисковые буферы. Т.е. если повторно будет считывание с диска, то реально возмется с ОЗУ. Получается дублирование функциональности. Дисковые буферы и их политика настраивается через sysctl (но тут я - пас).

А чтобы реально наблюдать работу, а не строить предположения и гадать "много, мало" - нужен мониторинг: мгновенный через cachemgr.cgi и постоянный через snmp и mrtg.

http://squid.opennet.ru/mrtg/



"Не хватает памяти squid??"
Отправлено ipmanyak , 21-Апр-06 12:35 
http://www.squid-cache.org/Doc/FAQ/FAQ-8.html#ss8.7