[FUG-BR] Problema no squid
João Carlos Mendes Luis
jonny em jonny.eng.br
Sex Jun 24 11:21:30 BRT 2005
William David Armstrong wrote:
> Ola lista
>
> Percebi isso a um tempo mas achei que poderia se alguma cosia errada
> com o proprio browser
>
> meu squid nao esta continuando os downloads maiores que 1 mb
>
> minha configuração de cache é esta
>
>
> cache_swap_log /usr/local/squid/var/logs/swap.state
>
> cache_dir diskd /usr/local/squid/cache/1 250 4 16 Q1=85 Q2=95
> cache_dir coss /usr/local/squid/cache/2/coss 250 max-size=1000000
> block-size=128
>
> ele começa a baixar o arquivo e simplesmente para em 1 mb
> estou usando o squid 2.5 stable 10 as configurações do cache COSS
> estão seguindo o proprio manual do squid.
O sistema de armazenamento do COSS é muito ineficiente para
arquivos grandes. Ele simplesmente usa A MESMA AREA PARA TODOS OS
ARQUIVOS, independente do tamanho de cada um. Ou seja, se voce disse
que o tamanho maximo é de 1M, todos os arquivos gastaram 1M de espaco no
cache, e arquivos com mais de 1M não poderao ser cacheados. Talvez,
sabendo disso, o programa tenha sido preparado para abortar a conexao
apos o limite do tamanho do COSS.
O COSS só é recomendado em situações muito específicas, e onde o
desempenho é mais importante que a eficiencia do disco. Por exemplo,
como cache reverso de um site, onde o conteudo está sob controle, e se
sabe o seu tamanho máximo.
Sugiro que voce mude para outro sistema de arquivos, como o ufs,
aufs ou diskd. O ufs é o mais tradicional, funciona sempre. O diskd e
o aufs podem aumentar o seu desempenho, dependendo das suas condicoes
locais. Como voce ja usava diskd, acho que ja sabe dessas vantagens.
Alias, uma forma de aumentar o desempenho do diskd é usar vários
processos diskd simultaneos:
cache_dir diskd /usr/local/squid/cache/1 250 4 16 Q1=85 Q2=95
cache_dir diskd /usr/local/squid/cache/2 250 4 16 Q1=85 Q2=95
cache_dir diskd /usr/local/squid/cache/3 250 4 16 Q1=85 Q2=95
cache_dir diskd /usr/local/squid/cache/4 250 4 16 Q1=85 Q2=95
cache_dir diskd /usr/local/squid/cache/5 250 4 16 Q1=85 Q2=95
cache_dir diskd /usr/local/squid/cache/6 250 4 16 Q1=85 Q2=95
Outra sugestão: aumente o numero de diretorios intermediarios. 4 e
16 me parece muito pouco para 256M. Tente usar 16x16 ou 32x32. A regra
para a escolha ótima é simples: O numero de arquivos em cada diretorio
final deve ser aproximadamente igual ao numero de diretorios em cada
nivel. A equacao para acha o valor ideal é simples: calcule o numero
esperado de arquivos no cache (tamanho do cache / tamanho medio esperado
de cada arquivo), e tire a sua raiz cubica. Arredonde para cima, se for
necessario. Segundo a ultima medida que eu li num artigo, o tamanho
medio dos arquivos na internet estava em 13k, menor que o primeiro
chute, de 20k. Isso ja tem algum tempo, talvez ja tenha aumentado. De
qualquer forma, o ideal é ver os logs do seu cache para avaliar isso,
pois o tamanho medio depende de parametros do cache e da audiencia do mesmo.
_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Mais detalhes sobre a lista de discussão freebsd