Proxy [parte 4]

segunda-feira, 7 de setembro de 2009

Seguindo...

Ajustes finos:

Nesse passo, iremos otimizar a forma como o squid trata o cache, espaço, reload, etc. Abra o squid.conf:

sudo nano /etc/squid/squid.conf

Adicione ao final do arquivo:

cache_dir ufs /var/spool/squid 2048 128 256

Isso fará com que o tamanho total do cache, seja de 2gb (2048), com 128 diretório e 256 subdiretórios.
Essa configuração pode ser alterada conforme suas necessidades e disponibilidades. Existem recomendações, para que seja usado um repositório a parte (um disco externo, por exemplo), dedicado ao cache (com o tamanho que quiser). O que pode implicar num tamanho exagerado e consequentemente, lentidão, é o tempo de acesso a esse cache. O mesmo é aplicado aos diretórios e subdiretórios. A boa prática é não exagerar, tendo em vista, que o squid irá buscar informações neles, antes de partir pra web. Uma empolgação a mais, poderá custar mais tempo nessa busca, do que seria indo ao servidor web.

cache_mem 128 MB

Aqui, definimos que serão destinados 128mb da memória física para armazenamento de um cache 'temporário'. Esse cache é mais rápido que o de disco, mas depende exclusivamente de quanto há de memória disponível no servidor proxy.

maximum_object_size_in_memory 1024 KB

Esse ajuste trabalha parelho com o anterior. Nele, será especificado, o tamanho máximo de um objeto no cache em memória. No caso, definimos que será de 1mb (1024). Lembrando que limitamos o tamanho máximo desse cache, em 128mb.
Outra coisa importante dessa cláusula, é que qualquer objeto maior que 1mb, será ignorado da memória e irá para o cache em disco (que especificamos no primeiro ajuste em 2gb.)

maximum_object_size 512 MB

Aqui, definimos o tamanho máximo de um objeto em disco (no caso, 512mb).

minimum_object_size 0 KB

Ao contrário, aqui, setamos o tamanho mínimo. Com 0kb, estamos falando que tudo irá pra cache (respeitando os limites acima, claro).

cache_swap_low 80

Esse valor, irá definir que se o limite do cache for utilizado, arquivos antigos, começam a ser descartados (em porcentagem).

Arquivos refresh

As configurações de refresh determinam o tempo de vida dos objetos. Após o prazo expirar, o Squid irá enviar uma solicitação para o servidor daquele objeto. Se ele foi modificado haverá uma atualização.

Exemplo:
Você acessa um site; o squid armazena informações (objetos) a respeito; após o período de vida, o squid vai até o site e verifica se houve alguma atualização daquele objeto. Havendo, ele simplesmente atualiza o esta no seu cache. Isso é bastante útil principalmente, para 'esqueletos' de página. Informações dinâmicas são atualizadas a cada visita, na maioria das vezes.

O padrão é:

refresh_pattern . 0 20% 4320

O primeiro valor é o tempo mínimo (zero); 20% é o valor padrão para contagem de tempo do refresh e inicio das verificações; 4320 é o tempo máximo do objeto (até ser atualizado novamente).

Não é demais lembrar, que não há uma única configuração padrão ou ideal. A ideal, é aquela que irá se adaptar ao seu cenário. Cabe ao administrador, avaliar a melhor solução e ir adaptando e ajustando as configurações do squid (que é extremamente maleável). Existem 'n' leituras internet afora e todas são recomandadas, a fim de aprender novas técnicas e melhorias. Basicamente, trabalho com o cenário acima, apenas alterando aqui ou alí, de acordo com o Servidor disponível e a demanda do parque. Em casa, utilizo de forma a acelerar e minimizar requisições de acesso, no trabalho, além disso, uso de forma autenticada, com controle e auditoria (que irei abordar nos próximos posts).

Bem, é isso... no squid mesmo, talvez não iremos mais mudar nada (mas fiquem a vontade pra testar e encontrar novas e melhores configurações, dessa excelente ferramenta). E não deixem de compartilhá-las com a gente. ;)

Como disse, nos próximos encontros, iremos abordar a parte de gerenciamento avançado de proxy.
Até lá...

[]s

0 comentários: