Configurar o Squid para limitar o tamanho do cache
Dica publicada em Linux / Internet
Configurar o Squid para limitar o tamanho do cache
Tenho percebido muitas perguntas em torno do assunto no site, então resolvi publicar algo, espero que ajude.
Esta dica é pra quem está tendo problemas com o tamanho do cache do Squid, que acaba tomando todo espaço disponível em disco ou na memória, causando transtornos e travamento no servidor.
Durante a configuração do arquivo /etc/squid/squid.conf é só adicionar as seguintes linhas logo abaixo das linhas que indicam a porta ser usada e o hostname:
Esta dica é pra quem está tendo problemas com o tamanho do cache do Squid, que acaba tomando todo espaço disponível em disco ou na memória, causando transtornos e travamento no servidor.
Durante a configuração do arquivo /etc/squid/squid.conf é só adicionar as seguintes linhas logo abaixo das linhas que indicam a porta ser usada e o hostname:
cache_mem 32 MB
maximum_object_size_in_memory 80 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /etc/squid/cache 3000 16 256
cache_access_log /etc/squid/access.log
maximum_object_size_in_memory 80 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /etc/squid/cache 3000 16 256
cache_access_log /etc/squid/access.log
Vejamos agora o que cada uma faz:
- a primeira linha define quanto da memória RAM será usada pelo cache;
- maximum_object_size_in_memory define o tamanho máximo dos objetos na RAM;
- maximum_object_size o tamanho máximo dos objetos no cache;
- a quarta linha define o tamanho mínimo dos objetos, geralmente 0;
- a quinta e sexta linhas indicam a partir de que percentagem do tamanho total cache o squid começa a apagar os arquivos;
- a linha seguinte é a que realmente define o tamnho total do cache em disco. O endereço refere a que diretório se deseja utilizar como cache, seguido do tamanho máximo do cache no disco (em MB) e os dois últimos números da linha indicam a quantidade de pastas e subpastas que o Squid utilizará para se organizar ao gravar o cache;
- a última linha indica o caminho para onde devem ser exportados os logs que depois poderão ser analisados, manualmente, com com algum gerador de relatórios como o SARG.
Encontrei esta dica durante a pesquisa de uma solução para uma forma "definitiva" de limitar o uso de memória. Até agora não encontrei.
No meu servidor tem 16 GB e o squid está limitado a 2 GB, no entanto, já comeu 13 GB. Em outros servidores é a mesma coisa.