-
devorador squid carregando todo o seu cache pra dentro da memoria !!!
galera o seguinte eu já fiz 500 tentativas e recorro agora a vossa experiência, tavelz seja um pepino nativo do squid mais é o seguinte tenho um p4 2.8 sata2 200gb 1gb de ram, que roda o squid. pois bem os parametros que são relevantes a essa questão é
a memoria max. que coloquei para o squid
cache_mem 90 MB (tava usando inicialmente 400mb olha onde cheguei no depespero dos testes)
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir diskd /etc/squid/cache/cache1 50096 16 256 Q1=64 Q2=72
(ja tentei no desespero até com ufs)
meu panorama é o seguinte acesso dessa proxy é feito por umas 180.. 200 maquinas,
o squid consome TODA A MEMORIA DO MEU COMPUTADOR ATÉ O ULTIMO MEGA (fidaputá hehe) não importa o que eu faça ele vai pegando conforme vai achendo o cache... ou seja meu cache vai ateh 700mb até da pau...
o que eu acho mais engraçado e que se eu desabilitar o squid o consumo de memoria fica no extremo ainda.. (***com o squid desligado***) ae eu vo lah e do o comando rm -rf dir /etc/squid/cache/cache1 meu servidor fica com 800mb de memoria livre instantanemente!!! que raio eh isso?!?!! alguem tem uma explicação lógica pra essa sacanagem do squid???? hehehehe
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
exatamente.
o cache_mem NAO limita a memoria que o squid vai consumir, ele limita apenas quanto de espaço na ram o squid pode USAR para armazer os objetos "HOT"...
para resolver isso.. voce tem 3 opções
primeira (recomendada)
colocar no minimo 2gb de ram no minimo !!!
segunda:
o squid, usando heap, consome cerca de 12mb de ram por cada GB de cache.. para diminuir o consumo da ram.. vc pode diminuir o tamanho do cache_dir !!!
terceira:
nao usar a politica heap, usar a lru ... (nao recomendo)
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
esqueci de um detalhe:
o squid consome +-12 a 20 mb de ram para cada GB de cache em plataforma 64Bits e
+-10 a 15 mb de ram para cada GB de cache em plataforma 32Bits
essa "notação" é +- isso ai.. depende muito do seu "ambiente".. :P
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
mais alexandre.. estou usando o heap ali como viu.. mais meu cache chega no max aos 700mb e consome toda minha memoria como se fosse 1/1 entende? 1mb na cache por 1 na memoria sera que errei algo? nem de perto da os 15mb de ram pra cada gb da memoria
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
vc tem 50gb no cache_dir !!
abaixa pra 10gb e faça um teste
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
amigo mudando um poquino de assunto conhece algum outro web cache? serah que o squid nao tem nenhum concorrente? nem que seja pago porem rode em linux? conhece algum?
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
pra que ? squid eh o melhor que existe.. melhor e mais usado...
cache consome memoria mesmo.. qualquer cache...
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
Considerando:
12 MB por giga de cache * 50 GB de cache = 600 MB
90 MB cache_mem de objetos quentes na memória
256 MB ou mais memória para rodar os processos do sistema operacional.
Tem razão de consumir toda a memória que vc tem.
Solução: aumente a memória RAM ou diminua o cache_dir.
Um abraço!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
lembrando que o cache_mem nao limita o quanto o squid vai consumir !!!
veja quanto de SWAP seu sistema esta consumindo em media.. essa media eh +- o tanto de memoria que vc vai precisar a mais !!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
o engraçado alexandre é que ele detona a memoria mais nao faz swap... soh que o sistema fica lendo pra caralho e começa a da pau!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
é não deu pé almentei a memoria pra 1.512MB
e ainda tá comendo praticamente 1 por 1 de memoria 1 mb de memoria em disco pra 1mb de memoria na pasta de cache
Olha só
wireless:/etc/squid/cache# du -h cache1/
1,1G cache1/
wireless:/etc/squid/cache# free -om
total used free shared buffers cached
Mem: 1486 1456 30 0 66 1066
Swap: 2863 0 2863
alguem tem um cache grande ai que tem algum relato do caso? o meu tá com 10gb mais já tá em 1GB de uso arrecem e tá batendo biela :-/
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
faz o seguinte... tem um detalhe q eu esqueci de citar...
gnumalloc !! squid trabalha melhor se vc utilizar essa lib.. soh baixar e instalar.. que o squid quando vc compilar.. ele reconhece.. e utiliza !!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
certo! vo instalar e posto aqui os results! ehehe valeu brother ;)
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
aaa só que nesse caso não rola apt-get install né? tenho que instalar com o source do squid? ou você diz quando eu instalar o gnumalloc o squid já reconhece de cara?
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
tipo eu to usando debian sarge na minha máquina, roda o squid e um servidor pppoe + radius, a utilização dessa biblioteca não vai danificar o sistema não é? porque não está assinada pela debian.
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
vc pega a lib no site do gnu !! instala ela...
ai quando for compilar o squid... ele ja reconhece que vc tem a gnumalloc.. e usa ela !!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
certo mais tipo ela é uma lib stard certo? outros aplicativos nao vao usar ela amenos que tenham suporte e ela nao vai sobrepor nada eh isso?
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
meu medo e ferrar tudo
[wireless@/var/tmp]cat README
This is the standalone distribution of GNU malloc.
GNU malloc is part of the GNU C Library, but is also distributed separately.
If you find bugs in GNU malloc, send reports to [email protected].
GNU malloc is free software. See the file COPYING.LIB for copying conditions.
The makefile builds libmalloc.a and gmalloc.o. If you are using GNU malloc
to replace your system's existing malloc package, it is important to make
sure you get all GNU functions, not some of the GNU functions and some from
the system library. gmalloc.o has all the functions in one file, so using
that will make sure you don't accidentally mix the two malloc packages.
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
eu instalei aqui.. nao substituiu nada.. nem atrapalhou nada nos servidores proxy
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
meu guro alexandre.. kra eu recompilei o squid tava com o 2.5 agora tá com o 2.6 eu vi que na hora da compilaçao deu tudo certo :) mais agora nao tah funcionando o diskd :(
olha oque acontece quando do um squid -z
wireless:/usr/local/squid/sbin# ./squid -z
FATAL: Bungled squid.conf line 42: cache_dir diskd /etc/squid/cache/cache1 10096 16 256 Q1=64 Q2=72
Squid Cache (Version 2.6.STABLE3): Terminated abnormally.
============
Locate diskd
=============
wireless:/usr/local/squid/sbin# locate diskd
/etc/squid/squid-2.6.STABLE3/src/fs/diskd
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/.deps
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/.deps/diskd.Po
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/.deps/store_dir_diskd.Po
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/.deps/store_io_diskd.Po
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/diskd.c
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/store_dir_diskd.c
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/store_diskd.h
/etc/squid/squid-2.6.STABLE3/src/fs/diskd/store_io_diskd.c
/usr/bin/diskd
/usr/share/man/man1/diskd.1.gz
============================
meus parametros no squid
============================
cache_dir diskd /etc/squid/cache/cache1 10096 16 256 Q1=64 Q2=72
#binario do diskd
#diskd_program /usr/lib/squid/diskd (não tem mais era do squid velho)
diskd_program /usr/bin/diskd
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
bemm... isso aqui vai acabar virando um manual da saga dos problemas do squid e oque pode acontecer de ruim com ele hahahaha bem o ultimo problema foi resolvido.
faltou duas coisas
primeiramente esqueci de compilar o squid com suporte ao diskd, foi facilmente resolvido com:
./configure --prefix=/usr/local/squid --enable-storeio=diskd
make
make install
depois no parametro diskd_program:
diskd_program /usr/local/squid/libexec/diskd-daemon
BELEUZA CREUZA:
só que agora o novo episódio da novela, segue abaixo:
wireless:/usr/local/squid/sbin# ./squid -z
FATAL: ERROR: Unknown policy heap
Squid Cache (Version 2.6.STABLE3): Terminated abnormally.
CPU Usage: 0.000 seconds = 0.000 user + 0.000 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
total space in arena: 60 KB
Total free: 31 KB 52%
Abortado
minhas politicas
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
e agora jesus maria josé quem poderar nos defender? hehe
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
tentei recompilar e instalar com o comando
./configure --prefix=/usr/local/squid --enable-storeio=diskd --enable-replace-policy=heap
não tive sucesso!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
bemmmmmmm fim da primeira parte da novela conf funcionando hehehe
faltou o segundo parametro do heap que era o --enable-removal-policies=heap ;)
ae como uso smnp (mrtg) fica assim a coisa toda:
./configure --prefix=/usr/local/squid --enable-storeio=diskd --enable-replace-policy=heap
--enable-removal-policies=heap --enable-smnp
;)
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
hehe eh foda
tá executando "bunitinho" mais olha o que tah rolando aqui com TODAS as requisiçoes
==================================
STORE.LOG
==================================
1158263246.332 RELEASE -1 FFFFFFFF 9CD2180AC8C77B74C9843F5FAEA2AEFF 400 1158263246 0 1158263246 text/html 1441/1441 GET error:invalid-request
1158263248.395 RELEASE -1 FFFFFFFF 6F7F5CA5C2B54364078A1AE88D25AFB5 400 1158263248 0 1158263248 text/html 1938/1938 GET error:invalid-request
1158263249.169 RELEASE -1 FFFFFFFF C96627CE456F532C49C6217C94843358 400 1158263249 0 1158263249 text/html 3266/3266 POST error:invalid-request
==================================
CACHE.LOG
==================================
1158263245.491 4 200.248.131.8 TCP_DENIED/400 1939 GET error:invalid-request - NONE/- text/html
1158263245.615 2 200.248.131.45 TCP_DENIED/400 1931 GET error:invalid-request - NONE/- text/html
1158263246.049 8 200.248.131.8 TCP_DENIED/400 1938 GET error:invalid-request - NONE/- text/html
1158263246.061 4 200.248.131.8 TCP_DENIED/400 1567 GET error:invalid-request - NONE/- text/html
1158263246.134 3 200.248.131.8 TCP_DENIED/400 1930 GET error:invalid-request - NONE/- text/html
1158263246.332 2 200.248.131.44 TCP_DENIED/400 1441 GET error:invalid-request - NONE/- text/html
1158263248.395 8 200.248.131.8 TCP_DENIED/400 1938 GET error:invalid-request - NONE/- text/html
1158263249.169 10 200.248.131.8 TCP_DENIED/400 3266 POST error:invalid-request - NONE/- text/html
1158263266.598 7 200.248.131.8 TCP_DENIED/400 2941 GET error:invalid-request - NONE/- text/html
meus parametros são:
http_port 3128 transparent
always_direct allow all
(squid é 2.6)
e a minha regra de iptables é
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
:| nao é facil!
alguma ideia?
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
sabe que.. usando o "transparent" vc precisa aplicar um patch no seu iptables e no kernel ?
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
tipo nao tah mais dando o erro que tava mexi no meu squid.conf... mais tah abrindo todos os sites tipo under-linux.org:3128 invez do squid manda pro cliente na porta 80 :-/ ou seja nao trafega!!! não sabia do patch do iptables e do kernel é necessario mesmo? tipo tem outra maneira sem o patch de fazer o proxy transparente? já que as antigas regras do squid 2.5 nao valem mais .. ou seja as regras:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
ahco que vc precisa mudar o transparent lah.. por outro item..
no changelog do 2.5 para o 2.6 tem explicando o que foi alterado..
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
unicos itens que tem sao o vport vhost e o transparent
nao tentei deixar sem o parametro transparent .. mais tambem acho q nao iria funcionar sozinho
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
Ae Alexandre
todos os problemas resolvidos compilei alguns trem a mais, no meu debian sarg pelomenos não precisei compilar nada no kernel nem no iptables. só nos parametros de compilação do squid que eu mexi que ficou assim
./configure --prefix=/usr/local/squid --enable-storeio=diskd --enable-replace-policy=heap
--enable-removal-policies=heap --enable-linux-netfilter --enable-linux-proxy --enable-snmp
falto o linux-netfilter e o proxy ;)
bem gnumalloc ready com squid-2.6STABLE3 vamos confirmar sua dica agora e torcer muito pra que de certo hehehe 3 dia pra configura um squid dhsaiuhdauihd deus do ceu!!
Abraçao mano velho e obrigado!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
quando comecei rodar o squid tava com 518mb usado
wireless:/home/arium# free -om
total used free shared buffers cached
Mem: 1486 1464 22 0 66 984
Swap: 2863 0 2863
wireless:/home/arium# cd /etc/squid/cache
wireless:/etc/squid/cache# du -sh cache1/
673M cache1/
wireless:/etc/squid/cache#
:cry:
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
ps auwx | grep -i squid
ai tem o que ele ta consumindo...
mas squid.. consome memoria.. mta mesmo...
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
arium@wireless:~$ free -om
total used free shared buffers cached
Mem: 1486 1453 33 0 31 1247
Swap: 2863 0 2863
wireless:/etc/squid/cache# ls
cache1
wireless:/etc/squid/cache# rm -rf cache1
wireless:/etc/squid/cache# free -om
total used free shared buffers cached
Mem: 1486 433 1053 0 65 290
Swap: 2863 0 2863
tava com 1GB de tamanho do cache já!!!! e isso! deus do ceu!
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
mas tipo.. veja que o sistema esta "tranquilo" .. pq nao esta usando SWAP !!!
o preocupante eh quando começa a usar swap...
o squid perde mta performance quando usa swap.. ;/
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
oque nao compreendo é esse sistema de carregar tudo pra memoria!
o pior é que ele tá fudendo minha maquina.. se for desse jeito vo te que deixa essa maquina soh pra squid mais nada! o que não queria
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
a ideia eh ter 1 servidor apenas para squid... como diz no manual... memoria eh uma coisa que o squid gosta heheheh !!
meu servidor aqui.. ta dano out of memory diretoooo.. comprei mais memorias pra ele... mas a dell demora entregar...
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
hehehe é foda! squid me quebra as perna hehehehe
-
Re: devorador squid carregando todo o seu cache pra dentro da memoria !!!
voce pode reduzir um pouco esse consumo abaixando o cache_mem ... ele vai usar menos memoria pra deixar os objetos QUENTES .. mas isso vai aumentar muito o acesso ao disco.. vc perdera performance..
o bom mesmo..eh montar uma maquina... com as configurações
5 hd scsi 36gb (5 cache_dir de 30gb)
e uns 8gb de ram !!
auhua.. talvez com um cache assim.. vc pode ateh desligar seu link que ninguem percebe (hauahuah) ...
meu proxy aqui atende media de 60% com o CACHE ... olha a imagem...
isso tem me economizado mto link !!!