[FUG-BR] Cache squid de 1 Tb
Joao Rocha Braga Filho
goffredo em gmail.com
Domingo Setembro 21 21:13:06 BRT 2008
2008/9/21 Ademir Costa Peixoto <ademir at tellecom.com.br>:
> Prezados,
>
> Estamos com um servidor Quad 6600 com 8Gb de ram.
> Temos 2 HDs Satas2 de 500Gb cada.
> Fui particionar ele ontem pra ter slices menores e só consegui fazer 4
> partições FreeBSD com 7 slices cada. Totalizando 28 filesystens por HD.
> Então criei 56 diretórios pra cache no SQUID.:
> cache_dir aufs /cache1 7770 16 128
> cache_dir aufs /cache2 7770 16 128
> cache_dir aufs /cache3 7770 16 128
> cache_dir aufs /cache4 7770 16 128
> ...
> cache_dir aufs /cache55 7770 16 128
> cache_dir aufs /cache56 7770 16 128
Não faça isto. Monte somente 2 sistemas de arquivos, um pra cada HD.
Aumentará a eficiência de uso, e terá somente uma tabela de i-nodes,
que estará no inicio do disco, se não me engano, onde o acesso é mais
eficiente. Com tantos sistemas de arquivos que você fez, o acesso a eles
não será eficiente. O squid possivelmente distribuirá a carga bem melhor
entro 2 sistemas de arquivos do que entre tantos, que pode, dependendo
do algoritmo dele, saturar um disco, e dois o outro, alternadamente.
Se for aceitar objetos grandes no cache, tipo 100 MB, sugiro usar a opção
"-i 20480" no newfs. Se for bem menores, use a opção "-i 13000".
Não aumente a cache toda de uma vez. Aumente aos poucos, tipo 100GB,
e depois veja o comportamento. A minha experiência diz que o disco pode
ficar muito ocupado com caches de 63 GB.
>
> Tá funcionando bem mas mesmo com o cache zerado em poucos minutos começa
> a ter os famigerados:
> squidaio_queue_request: WARNING - Queue congestion
Pode ser o que eu falei, e a quantidade de seeks que os discos estão
tendo de fazer, por causa da quantidade de tabelas de i-nodes espalhadas
pelo disco. Tente a minha sugestão acima,
Outra coisa, o uso de memória do squid é proporcional ao tamanho da
cache em disco, portanto, mais um motivo para fazê-la crescer devagar,
e ver como se comporta.
>
> O Micro é todo intel. O average fica em 0.09 e o buzy dos HDs não passam
> de 21% sob fogo cruzado (14mbps de link).
> Tentei usar DISKD mas ele não abre mais que 8 daemons simultâneos.
É o disco físico que está saturando. Ele que não está conseguindo acompanhar
a quantidade de requisições que está recebendo.
>
> Antes que alguém fale de SCSI eu já respondo que não exitem hds dessa
> capacidade a valores abaixo de U$ 1.000,00 e acho que não tem nem no Brasil.
Não adianta um cache grande se o disco não puder acompanhar a quantidade
de requisições que recai sobre ele. Dois discos de 143 GB com 15 KRPM pode
dar mais desempenho total do que dois discos de 500 GB de 7200 RPM.
>
> Pergunto:
>
> Qual a melhor forma de aproveitar esse cache?
>
> Realmente esse congestioamento é por I/O lento?
>
> Tem como usar XFS no FreeBsd 7.0 e Squid 3.0 Stable8?
Experimente 2 sistemas de arquivos somente, com Soft Update, sem sequer
tabela de partições. Não esqueça da opção de noatime no /etc/fstab. Se
quiser ser paranóico, rw,noatime,noexec,nosuid,nosymfollow.
Use um terceiro disco para o sistema. Faça os dois discos exclusivos pro
cache.
Li a sugestão do RAID 1. Ele vai melhorar a leitura, mas poderá piorar um
pouco a escrita. No início a sua cache fará muitas escritas. Acho que 2
discos separados pode melhorar mais ainda o desempenho.
Ao invés de dividir em várias istâncias, por que não usa aufs, que faz multi
tarefa?
João Rocha.
PS: Se tentar a minha sugestão, e de vários adiante também, conte como
foi o resultado.
>
>
>
> Ats,
>
> Ademir Peixoto
>
>
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
--
"Sempre se apanha mais com as menores besteiras. Experiência própria."
goffredo at gmail.com
Mais detalhes sobre a lista de discussão freebsd