Squid - Calculando cache_dir e cache_mem

Publicado por Jeferson R. Costa em 24/05/2013

[ Hits: 29.913 ]

Blog: http://www.jefersonrc.com.br/

 


Squid - Calculando cache_dir e cache_mem



Este final de semana, resolvi estudar um pouco algumas maneiras de melhorar o processamento do Squid e descobri que, alterando somente alguns parâmetros, podemos aumentar consideravelmente a velocidade de navegação para o usuário final.

No meu caso, tinha um servidor proxy com 4 GB de memória disponíveis para o Squid e alguns outros serviços, e estava utilizando somente 300 MB, ou seja, tinha recursos mas por não saber calcular muito bem o cache_mem e cache_dir, acabei inserindo valores equivocados, comprometendo e desempenho da Internet dentro da minha rede.

Um detalhe muito importante que devemos nos atentar para o nosso cálculo, é que em sistemas 32 bits, para cada GB de HD destinado ao cache, o Squid consome 10 MB de memória RAM e para sistemas 64 bits, para cada GB de HD destinado ao cache, o Squid consome 16 MB de memória RAM.

Exemplo:

- Temos um GNU/Linux 32 bits, com o parâmetro cache_dir setado em 10 GB, sendo assim, nosso Squid consumirá 100 MB de memória RAM somente para processar o cache.

- Se tivermos a mesma quantidade setada no cache_dir de um Squid rodando em um sistema 64 bits, teríamos 160 MB de memória RAM consumido pelo Squid para a mesma tarefa.

Vamos, então, fazer os cálculos, levando em consideração os seguintes recursos do nosso servidor imaginário:
  • 4 GB de memória RAM.
  • 20 GB para a partição /squid destinada exclusivamente para o Squid.
  • Debian x64.
  • Disponibilidade de uso de 2 GB de memória RAM somente para o Squid, deixando o restante para o sistema e demais serviços.

Temos, então, 20 GB dedicado para o nosso cache, porém, recomendo que deixe 20% deste total para que fique livre, sendo assim, usaremos somente 16 GB, ficando da seguinte maneira o nosso cálculo:

16 * 16 = 256 MB + 20 MB de gordura = 276 MB + 1724 MB = 2 GB

No "squid.conf", o nosso cache_mem e cache_dir ficará mais ou menos assim:

cache_mem 1724 MB
cache_dir ufs /squid/cache 16000 16 256


Pronto. Agora, dependendo do seu tráfego, a diferença será logo percebida.

Testado no Debian 6/Squid 3.

Veja essa e outras dicas em meu blog, onde posto dicas e soluções em infraestrutura de TI.


Gostou? Compartilhe e deixe seu comentário.
Achou algum erro? Precisa de ajuda? Críticas? Deixe seu comentário.

Obrigado!
Jeferson R. Costa

Outras dicas deste autor

Descobrindo seu IP externo via linha de comando no GNU/Linux

HTML - Redirecionamento de página

Desligando remotamente máquinas de um domínio

Redirecionamento de portas IPtables

Fail2ban em servidor SSH

Leitura recomendada

Como proteger servidores que rodam SSH

Ativando proxy transparente no Squid 2.6.x

apt-pinning - Forçando downgrades em Debian-likes

Alterando o tamanho do disco para Pubuntu

Mantendo sua data e hora sempre corretas

  

Comentários
[1] Comentário enviado por flaviog em 27/11/2015 - 08:37h

Ótima dica.
Esse tipo de material é muito bom para nos ajudar na hora de uma configuração mais afinada.
Parabéns.

Por exemplo:
calculamos 16mb para cada giga de hd para cache.

Se usarmos seguinte configuração para cache_dir
cache_dir diskd /var/spool/squid/1 10240 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/2 10240 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/3 10240 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/4 10240 16 256 Q1=64 Q2=72

Devo considera (16 * 10) apenas ou sera um calculo para cada linha, ou seja, (16*10)+(16*10)+(16*10)+(16*10).

Grande abraço.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts