Pular para o conteúdo

Squid - Calculando cache_dir e cache_mem

Dica publicada em Linux / Configuração
Jeferson R. Costa rcjeferson
Hits: 31.246 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

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

Erro "Makefile:181" no VirtualBox do Fedora [Resolvido]

Alterando senha de usuário no MySQL

dos2unix - Convertendo arquivos Windows para GNU/Linux

Serviço online de scanner de portas

SSH pelo navegador (FireSSH)

Desligando fonte ATX com APM no Slackware

Instalando Gnome Shell no Linux Mint 18

Como escrever em japonês no Ubuntu 10.10

Radeon no XFree86 com suporte a aceleração

Montar partição NTFS com leitura/escrita no FreeBSD

#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

Entre na sua conta para comentar.