Pular para o conteúdo

Squid - Entendendo um pouco as configurações

Veremos alguma teoria e as configurações mínimas do Squid, baseadas no "squid.conf" e com comentários,
Buckminster Buckminster
Hits: 64.479 Categoria: Linux Subcategoria: Squid
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 3: Cálculo do cache_dir e do cache_mem

A tabela do Squid na memória RAM funciona como um índice. Pense no índice de objetos do Squid como se fosse o índice de páginas de um livro. Quanto maior o livro, maior o índice e, logicamente, mais tempo se levará na busca de uma página específica.

Quanto mais objetos o Squid tem armazenado no disco rígido, mais espaço de memória RAM ele alocará. Porém, isto não significa que você deve esvaziar o cache do Squid com frequência.

O ideal é calcular bem o "cache_dir" e o "cache_mem" para somente ter que limpar o cache do Squid em caso de problemas, pois quando o "cache_dir" lota, o Squid automaticamente apaga os objetos mais antigos e grava os mais novos.

Uma pequena quantidade de metadados para cada objeto em cache é mantida na memória. Esta estrutura de dados é conhecida como StoreEntry. São 56 bytes em arquiteturas de 32 bits e 88 bytes em arquiteturas de 64 bits.

Além disso, existe um cache de 16 bytes (MD5) associado a cada StoreEntry. Isto significa que existem 72 ou 104 bytes de metadados na memória para cada objeto no cache. Um cache com 1.000.000 de objetos, portanto, requer 72 MB de memória apenas para os metadados.

O Squid utiliza 10 MB de memória RAM para cada 1 GB no disco em sistemas de 32 bits e 14 MB de memória RAM para cada 1 GB em sistemas de 64 bits. A FAQ do Squid aconselha utilizar um terço da memória total da máquina somado às regras anteriores.

Cálculo do "cache_mem" total utilizando 5 GB como exemplo e tomando-se, por exemplo, 3 gigabytes como total da memória RAM da máquina:

Para sistemas de 32 bits:
  • 10 x 5 = 50 MB
  • 1/3 de 3 GB = 1 GB (1024 MB)
  • 1024 + 50 = 1074 MB

Para sistemas de 64 bits:
  • 14 x 5 = 70 MB
  • 1024 + 70 = 1094 MB

* Lembre que os 5 GB acima utilizados no cálculo, não se referem à quantidade colocada no "cache_dir" e sim à quantidade que o Squid TEM armazenado dentro do espaço total destinado ao "cache_dir".

A coisa toda se processa assim: você pode colocar 500 mil GB de "cache_dir" (se tiver um HD desse tamanho), mas o Squid irá aumentando o índice de acordo com o que for armazenando no disco e, consequentemente, ocupará mais espaço na memória RAM. Quando ele "encher" os 500 mil GB, ele mesmo excluirá os objetos mais antigos do cache.

O confuso "squid.conf" nos diz que para o "cache_dir" é uma boa prática utilizar o espaço total da partição destinada para o cache_dir menos 20%.

Para o cálculo efetivo do "cache_dir" e do "cache_mem", é importante analisar a quantidade de tráfego da sua rede. Basicamente, quanto maior a rede (número de computadores), maior o tráfego.

Um adendo deve ser feito agora em caso de se utilizar cache de vídeos: deve ter-se um HD de tamanho generoso e deve-se aumentar o maximum_object_size para um tamanho ideal.

Donde conclui-se: o tamanho do "cache_dir" é proporcional ao tamanho do "cache_mem". Quanto mais aumenta o espaço utilizado no "cache_dir" mais aumenta o espaço utilizado no "cache_mem".

Resumindo

As quantidades colocadas no "cache_dir" e no "cache_mem", são quantidades totais que irão sendo preenchidas de acordo com o uso do Squid. Você deve ir "jogando" com o "cache_dir" e com o "cache_mem" se acontecerem problemas de lentidão ou travamento, e deve verificar se as ACLs (fast ou slow) não estão causando essa lentidão ou travamento.

A escolha do tamanho ideal para o "cache_dir" e para o "cache_mem" deve levar em conta o tráfego dentro da rede. Mas lembre-se, colocar muito "cache_dir" e pouco "cache_mem" poderá tornar o Squid lento e, por conseguinte, o sistema operacional.

E colocar pouco "cache_dir" e muito "cache_mem", representa um desperdício de memória e poderá faltar memória para o sistema operacional e/ou para os outros serviços instalados na máquina, pois o Squid reserva o espaço do "cache_mem" e poderá causar, de novo, lentidão ou travamento.

Eu, pessoalmente, acredito que utilizar um "cache_dir" de 5 GB (cinco gigabytes) é o ideal, quando não se fizer cache de vídeos. Lembre-se da analogia do índice do Squid: quanto mais páginas no livro, maior o índice e, consequentemente, mais tempo o Squid leva na busca dentro do cache.

Porém, polêmicas à parte, torno a repetir, isso depende da quantidade de tráfego que você tem na sua rede e da configuração de hardware que você tem disponível.

Uma configuração ideal de máquina (opinião minha) é colocar o sistema operacional com IPtables, Squid (com Sarg) e DHCP com compartilhamento.

Lógico que aí está incluída a escolha do tamanho do HD, do processador, da quantidade de memória RAM, da placa-mãe etc; e da disponibilidade financeira para se montar o hardware. Essa configuração fica melhor até para gerenciamento do servidor.

Se você utilizar o Squid com Windows (Squid-NT ou WinSquid), deve colocar uma boa quantidade de memória RAM, pois o sistema operacional Windows, além de consumir muita memória RAM, não tem um bom gerenciamento dela.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Squid
   2. Desempenho do Squid
   3. Cálculo do cache_dir e do cache_mem
   4. Configurações mínimas recomendadas com comentários

Manual traduzido do Squid - Parte 2

Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário

Instalar e Configurar a santíssima trindade (PAP) no Void Linux

Como utilizar de forma correta os repositórios e pacotes Backports

Executar Scripts Remotamente

Squid com autenticação básica + Gerador de relatórios Sarg - Instalação e configuração

A verdade sobre as ACLs do Squid

Montando o Squid

Squid + Sarg + IPtables - Configuração rápida

Autenticando usuários do Squid em um banco de dados MySQL

#1 Comentário enviado por danniel-lara em 19/04/2013 - 12:00h
Parabéns pelo Artigo Muito bom
#2 Comentário enviado por Buckminster em 19/04/2013 - 18:00h
Obrigado.
Estamos aí, Daniel!
#3 Comentário enviado por TioRoni em 19/04/2013 - 20:19h
Muito bom mesmo João, vc é o cara.
#4 Comentário enviado por Buckminster em 19/04/2013 - 23:42h

[3] Comentário enviado por TioRoni em 19/04/2013 - 20:19h:

Muito bom mesmo João, vc é o cara.


Valeu Roni.
#5 Comentário enviado por K1ll3r_B0y em 23/04/2013 - 15:40h
Parabéns, ótimo artigo!
#6 Comentário enviado por Buckminster em 24/04/2013 - 03:26h

[5] Comentário enviado por K1ll3r_B0y em 23/04/2013 - 15:40h:

Parabéns, ótimo artigo!


Agradeço pelo apoio.
#7 Comentário enviado por tomtom007 em 26/04/2013 - 10:16h
Parabéns muito bom seu artigo !!!
#8 Comentário enviado por Buckminster em 26/04/2013 - 19:05h

[7] Comentário enviado por tomtom007 em 26/04/2013 - 10:16h:

Parabéns muito bom seu artigo !!!


Obrigado.
#9 Comentário enviado por KamenBlackRX em 29/04/2013 - 15:47h
Obrigado, Resolvel minha duvida :D Parabéns cara. Otimo Artigo!
#10 Comentário enviado por Buckminster em 29/04/2013 - 16:21h

[9] Comentário enviado por KamenBlackRX em 29/04/2013 - 15:47h:

Obrigado, Resolvel minha duvida :D Parabéns cara. Otimo Artigo!


De nada. Obrigado.
#11 Comentário enviado por Sylverone em 30/04/2013 - 15:29h
Ótimo Artigo!!
Obrigado
#12 Comentário enviado por Buckminster em 30/04/2013 - 17:56h

[11] Comentário enviado por Sylverone em 30/04/2013 - 15:29h:

Ótimo Artigo!!
Obrigado


De nada!
#13 Comentário enviado por obernan em 08/05/2013 - 16:09h
Kara muito bom seu artigo. Parabéns !!!!! Está muito esclarecedor.
#14 Comentário enviado por Buckminster em 09/05/2013 - 19:04h

[13] Comentário enviado por obernan em 08/05/2013 - 16:09h:

Kara muito bom seu artigo. Parabéns !!!!! Está muito esclarecedor.


Obrigado.
#15 Comentário enviado por ribeirosga em 13/09/2013 - 09:58h
Artigo excelente...
#16 Comentário enviado por Buckminster em 22/09/2013 - 17:06h

[15] Comentário enviado por ribeirosga em 13/09/2013 - 09:58h:

Artigo excelente...


Obrigado.
#17 Comentário enviado por rotaviano em 23/11/2013 - 17:23h
showwwwwwwwwwww parabens
#18 Comentário enviado por Buckminster em 09/12/2013 - 19:23h

[17] Comentário enviado por rotaviano em 23/11/2013 - 17:23h:

showwwwwwwwwwww parabens


Obrigado.
#19 Comentário enviado por removido em 18/12/2013 - 08:36h
Você é o MRs Squid.... Hehehe, aprendo muito com vc. Obrigado pelos ótimos artigos.
#20 Comentário enviado por arasouza em 27/03/2014 - 11:22h
Cara primeiro parabéns, pelas contribuições que são várias ao vivaolinux e a comunidade em geral, apenas uma dúvida eu estou tendo uns problemas de lentidão com meu squid de uns dias pra cá.. andei dando uma pesquisada e vi seu artigo (muito bom por sinal) e vi que vc tem uma sequência bem diferente do que estou acostumado, essa sequencia pode ser seguida, ou vc apenas está explanando, tipo eu não vou dar um copiar e colar dentro do meu squid.conf conforme o artigo pois teria que colocar os comandos na sequencia correta??? valeu pela ajuda.
#21 Comentário enviado por Buckminster em 31/03/2014 - 09:08h

[20] Comentário enviado por arasouza em 27/03/2014 - 11:22h:

Cara primeiro parabéns, pelas contribuições que são várias ao vivaolinux e a comunidade em geral, apenas uma dúvida eu estou tendo uns problemas de lentidão com meu squid de uns dias pra cá.. andei dando uma pesquisada e vi seu artigo (muito bom por sinal) e vi que vc tem uma sequência bem diferente do que estou acostumado, essa sequencia pode ser seguida, ou vc apenas está explanando, tipo eu não vou dar um copiar e colar dentro do meu squid.conf conforme o artigo pois teria que colocar os comandos na sequencia correta??? valeu pela ajuda.


Essa sequência do squid.conf do artigo é a sequência do squid.conf original. Eu procuro seguir ela sempre.

Quanto à lentidão do teu Squid, você deve primeiro verificar qual a causa dessa lentidão. Procure lembrar qual foi a última alteração que você fez antes dele ficar lento. E veja os logs do Squid, os logs geralmente apontam os prováveis erros.
Primeiro procure identificar a causa da lentidão antes de sair alterando o squid.conf.
#22 Comentário enviado por danilo.rcte em 09/10/2015 - 15:47h

Parabens pelo artigo !!! show de bola...

Cara gostaria de tirar uma duvida com vc... instalei um squid3 - nao transparente e sem autenticação, esta tudo funcionando... bloqueios de urls, bloqueios por ip, tudo.... porem ao testar o delay pools, percebi que ele não limita sites https.... ou seja... funciona perfeitamente com todos os sites http: (porta 80) , porem ao entrar em sites https... a limitação acaba... e o usuario navega em full banda.... a duvida é.... só o meu servidor squid faz isso... ou o squid em geral nao limita banda dos sites https???

Contribuir com comentário

Entre na sua conta para comentar.