[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [DUP] Squid Cache Squid deixa navegação mais lenta.



Olá Ataliba,
	tive um problema parecido com o seu, e era a quantidade de filedescriptors que estava matando squid. Veja no cache.log se tem alguma mensagem que fale algo como: "[WARNING] Running out of filedescriptors".

	Quando dei um jeito nessa parte dos filedescriptors, tive uma excelente ajuda do Felipe Augusto van de Wiel, onde ele comenta algo sobre minha estrutura e sugere alguns links.

> Olá pessoal,
> 	Apesar de saber que a lista trata assuntos inerentes ao SO Debian, 
> se alguém puder ajudar será de grande valia.
> 	Pois bem, estou usando o squid 2.6.STABLE16 num Debian Etch. Como 
> preciso fazer um grande cache num proxy transparente, resolvi baixar
> o source do squid e compilar modificando a opção de max_filedescriptors.
> Também recompilei o kernel com o mesmo intuito.
> 	O cache está sendo guardado numa partição XFS, e noto que o tamanho 
> do diretório tem crescido normalmente.  

	Se você quer velocidade, sugiro utilizar outro sistema de arquivos
ou fazer "fine tuning" no XFS para obter melhor desempenho, especialmente
com uma grande quantidade de arquivos pequenos.

	O hardware também pode influenciar, especialmente se você puder
dispor de controladoras SCSI e discos independentes.


> 	Minha dúvida surgiu enquanto estava verificando os logs, quando vi 
> no access.log um grande número de TCP_MISS para o método GET.
> 	Vi no store.log uma grande número de "RELEASE -1 FFFFFFFF", ou seja,
> o cache está sendo retirado o tempo todo da memória. Em contrapartida,
> também no store.log, vejo um bom número de SWAPOUT, indicando que tem coisa
> sendo gravada no disco.
> 	Eu me perdi em algum conceito?? Está tudo certo? Tem coisa errada ou 
> que pode ser melhorada??  

	Sim, há uma matemática para atingir um melhor desempenho do uso (e
abuso) do seu cache, especialmente com relação ao hardware, sistema de
arquivos, quantidade de RAM disponível, velocidade da rede, quantidade de
usuário e perfil do que é acessado. O SquidFaq pode ser de grande ajuda
nessas horas.

	Se você errou o dimensionamento do seu cache, o que você vai ver
é um grande número de objetos sendo retirado dele e os objetos que precisam
estar lá, não estarão, você vê TCP_HIT?


> 	Segue parte das configurações (toda sugestão é bem vinda):
> proxy:/var/log/squid# squid -v
> Squid Cache: Version 2.6.STABLE16
> configure options:  '--prefix=/usr/local/squid' '--sysconfdir=/etc/squid' '--enable-storeio=aufs,coss,diskd,ufs' '--enable-poll' '--enable-delay-pools' '--enable-linux-netfilter' '--enable-htcp' '--enable-carp' '--with-pthreads' '--enable-underscores' '--enable-external' '--enable-arp-acl' '--with-maxfd=16384'
> 
> ----
> 
> proxy:/var/log/squid# cat /etc/squid/squid.conf
> http_port ip_do_server:3128 transparent
> 
> hierarchy_stoplist cgi-bin ?
> acl QUERY urlpath_regex cgi-bin \?
> cache deny QUERY
> acl apache rep_header Server ^Apache
> broken_vary_encoding allow apache
> 
> access_log /var/log/squid/access.log squid
> cache_store_log /var/log/squid/store.log 
> cache_log /var/log/squid/cache.log
> 
> hosts_file /etc/hosts
> 
> visible_hostname proxy-intelig.jetcom.com.br
> 
> refresh_pattern ^ftp:           1440    20%     10080
> refresh_pattern ^gopher:        1440    0%      1440
> refresh_pattern .               0       20%     4320  

	Há vários refresh_pattern que podem ajudá-lo a aumentar
o número de objetos no cache e obter mais economia de banda.


> acl all src 0.0.0.0/0.0.0.0
> acl manager proto cache_object
> acl localhost src 127.0.0.1/255.255.255.255
> acl to_localhost dst 127.0.0.0/8
> 
> acl purge method PURGE
> acl CONNECT method CONNECT
> http_access allow manager localhost
> http_access deny manager
> http_access allow purge localhost
> http_access deny purge
> #http_access deny !Safe_ports
> #http_access deny CONNECT !SSL_ports
> 
> http_access allow localhost
> http_access deny all
> http_reply_access allow all
> icp_access allow all
> 
> cache_effective_group proxy
> 
> always_direct allow all
> 
> cache_mem 1024 MB
> 
> cache_swap_low 40
> cache_swap_high 75
> 
> maximum_object_size 32768 KB
> 
> cache_dir diskd /var/spool/squid 12000 16 256 Q1=72 Q2=64
> 
> ipcache_size 1024
> ipcache_low 90
> ipcache_high 95
> fqdncache_size 1024
> 
> cache_replacement_policy lru
> memory_replacement_policy lru  

	Sem detalhes de perfil e hardware fica difícil dizer se
diskd foi a melhor escolha, embora eu ache o cache_mem um pouco
grande demais para o seu caso, os valores padrão tendem a ser a
melhor forma de começar, a partir daí, ajustes pausados, um por
vez, podem direcionar a melhor forma de obter bons resultados.

http://www.linux-faqs.com/squid.php
http://www.isp-planet.com/equipment/squid_tune.html
http://wiki.squid-cache.org/SquidFaq/SystemSpecificOptimizations
http://wiki.squid-cache.org/SquidFaq/SquidMemory
http://wiki.squid-cache.org/SquidFaq/DiskDaemon
http://wiki.squid-cache.org/SquidFaq/CyclicObjectStorageSystem


	Abraço,
On Tue, 6 Nov 2007 08:57:33 -0300
"Ataliba Neto" <traquinopqd@gmail.com> wrote:

> Pessoal,
> 
> Instalei o Squid para fazer cache com  finalidade de aumentar o
> desempenho da rede, só que o tiro saiu pela culatra ;c)
> O que acontece é que a navegação ficou extremamente lenta. A minha
> configuração está logo abaixo.
> Acredito que seja sobrecarga no DNS que as máquinas estão utilizando.
> 
> ###############################################
> ##
> # Porta do SQUID padronizada para ser 3128
> http_port 3128
> 
> hierarchy_stoplist cgi-bin ?
> acl QUERY urlpath_regex cgi-bin \?
> no_cache deny QUERY
> 
> ##
> # Cache em memória, setado para 32 mb para obter um bom desempenho
> # e não compremeter o desempenho do CDC.
> cache_mem 32 MB
> cache_swap_low 90
> cache_swap_high 95
> 
> ##
> # Diretório onde ficará o cache e o tamanho setado.
> # Coloquei o sistema de armazenamento para ufs (padrão do SQUI)
> # E liberei 2GB de espaço.
> cache_dir ufs /var/spool/squid 2048 16 256
> hosts_file /etc/hosts
> 
> ##
> # Configuração do SQUID básica, regras, acl´s, etc.
> refresh_pattern ^ftp:           1440    20%     10080
> refresh_pattern ^gopher:        1440    0%      1440
> refresh_pattern .               0       20%     4320
> 
> acl all src 0.0.0.0/0.0.0.0
> acl manager proto cache_object
> acl localhost src 127.0.0.1/255.255.255.255
> acl to_localhost dst 127.0.0.0/8
> acl purge method PURGE
> acl CONNECT method CONNECT
> 
> http_access allow manager localhost
> http_access deny manager
> http_access allow purge localhost
> http_access deny purge
> http_access allow localhost
> http_access allow all
> http_reply_access allow all
> icp_access allow all
> coredump_dir /var/spool/squid
> httpd_accel_host virtual
> httpd_accel_port 80
> httpd_accel_with_proxy on
> httpd_accel_uses_host_header on
> http_access allow all localhost manager
> ###############################################
> 
> Grato ;)


-- 
------------------------------
Marcello Barreto de Medeiros
  Network Admin/Programmer
  +55 84 3231 4617 [Office]
  +55 84 9914 3254 [Mobile]
marcello@linconet.com.br [MSN]
      Linconet Brasil
------------------------------



Reply to: