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:
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
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.
Você pode definir os valores conforme lhe convier e desse modo evitar cache muito grande ou muito pequeno.