28 abril 2010

Squid Tuning – Mais dicas, aumentando a performance de disco.

Caros amigos leitores,

Após algumas pesquisas sobre SQUID e suas performances. Acabei descobrindo muitos materiais. Mais duas publicações me chamaram muita atenção. Squid Tuning – Mais dicas, aumentando a performance de disco e Otimizando o Squid - Versão 2008, publicados no site www.linuxadm.com.br.

Logo abaixo estarei republicando o texto na integra, para poder compartilhar este material com voces.

Procurando mais informações a respeito do Squid, me deparei na seguinte página. http://wiki.squid-cache.org/BestOsForSquid e descobri duas dicas a mais para melhorar o acesso a disco e consequentemente a resposta dos arquivos em cache.

Esse artigo deve ser considerado uma continuação do anterior “Otimizando o Squid – Versão 2008″, disponível em http://linuxadm.blogspot.com/2008/02/otimizando-o-squid-verso-2008.html

1ª Dica – noatime option

O Linux salva em cada arquivo a informação de data e hora de ultimo acesso além de ultima modificação, e como o Squid utiliza seu timestamp próprio, é inutil contar com o timestamp do filesystem. Para melhorar o acesso aos arquivos de cache setamos então o diretório de cache com o parâmetro “noatime”.

Como fazer? Simples.
Se o seu diretório de cache está numa partição em separado (o que a propósito é uma excelente idéia) basta adicionar o parâmetro noatime no seu fstab.

Exemplo:
/dev/sda3 /var/spool/squid reiserfs defaults,noatime 0 2

obs.. Recomendo adicionar o noatime somente nas partições do cache, não em partiçoes do sistema, tal como /

Se você já possui um particionamento, e não deseja reparticionar seu disco, pode fazer através do comando chattr (change attribute)

Exemplo:
#chattr -R +A /var/spool/squid
(Onde o -R é para recursividade, e o +A para especificar o noatime)

Para usar o chattr com ReiserFS é necessário ativar o suporte no Kernel.

[*] ReiserFS extended attributes
[*] ReiserFS POSIX Access Control Lists
[*] ReiserFS Security Labels

Para visualizar os atributos do arquivo utilize o lsattr.

Exemplo:
#lsattr
————- ./radius.sql (Arquivo sem nenhum atributo ativo)

2ª Dica – Espaço Livre (free space)
Sempre deixe acima de 20% de espaço livre no filesystem contendo seu cache dir, geralmente a performance do filesystem degrada dramaticamente se o espaço usado excede 80%.

3º Dica – Desativar o Store.log (Enviada por YellowBR)
Como dito anteriormente, quanto melhor otimizarmos o acesso a disco mais rapido será nosso proxy, uma forma de melhorar a performance de disco é reduzir a escrita desnecessária.
O store.log exibe quais arquivos foram removidos do cache, quais objetos estão salvos, e o tempo que estão no cache, entretanto, não existe uma utilidade real para esses dados, portanto é recomendável desativar essa flag.
Exemplo:
cache_store_log none

Fonte: http://www.visolve.com/squid/squid24s1/logfiles.php

Dica Extra (E extremamente útil) – notail option
Se você usa ReiserFs (o que é indicado para cache do squid) é interessante o uso da opção notail ao montar o sistema de arquivos. O “tail packing” é uma característica do ReiserFS para melhor uso de espaço, que permite 5% a menos de perda de espaço em disco se comparado ao ext2 ou ext3, a grosso modo ele faz um agrupamento de arquivos menores que um bloco do filesystem (4k), por isso a excelente performance do ReiserFS com arquivos menores.

Fonte: http://www.funtoo.org/en/articles/linux/ffg/2/

Portanto se você está disposto a sacrificar 5% do estaço em disco para um incremento de performance, ative a opção notail no seu fstab.

/dev/sda3 /var/spool/squid reiserfs defaults,noatime,notail 0 2

Se você não quiser reiniciar seu linux, basta apenas remontar a partição com o parâmetro notail.

#mount -o remount /var/spool/squid

As últimas duas dicas não referem-se apenas ao Squid, mas ao uso do sistema operacional em sí, procure manter o mesmo procedimento para sua partição primária.

Outras dica óbvia, e não menos importante, é procurar disco com velocidades maiores, por exemplo discos de 15k RPM.

Estarei adicionando essas dicas no arquivo original, mas manterei esse post em separado para que os antigos leitores vejam que houveram incremento de informações no tutorial.

Fonte: LinuxAdm (Danilo) – www.linuxadm.com.br