[FUG-BR] Performance de leitura horrível no FreeNAS
Paulo Henrique - BSD Brasil
paulo.rddck em bsd.com.br
Quinta Novembro 12 12:48:07 BRST 2015
On 12/11/2015 12:23, Ari Arantes Filho wrote:
> Pessoal,
>
> Temos um servidor IBM com 2 discos SATA de 3Gb cada com o FreeNAS
> configurado com o RAID-Z. O servidor tem uma controladora LSI-2008. Os
> discos estão configurados para JBOD para utilizar o RAID-Z.
>
> O problema é que o servidor grava muito rápido, mas para ler, fica horrível.
>
> A gravação vai em basicamente 100Mb/s, velocidade da rede 1Gb/s. E também é
> bem estável a velocidade. Fica constante em torno de 100Mb/s.
>
> Já a leitura fica horrível, alterna entre 10 e 30Mb/s. Isso sem qualquer
> utilização do servidor. Apenas para testes mesmo.
>
> Alguma ideia para melhorar isso?
>
> Obrigado,
>
> Ari
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Bom,
Se está usando ZFS recomendo fortemente a não usar os recursos de raid
das controladoras, principalmente os JBOD que é o pior tipo de raid,
principalmente em controladora on-board.
A Rede é o pior tipo de teste que há para se obter uma informação
precisa de desempenho, utilize a escrita a partir do /dev/random para
criar um arquivo para teste de escrita, quanto a leitura use o cat do
arquivo anteriormente criado.
Contudo, o seu problema se limita a utilizar raid ZFS sobre um raid de
hardware ( pseudo-raid ) e possivelmente pouca memória disponivel no
servidor.
Quanto de memória há no servidor?
Quanto de memória deixou para o ZFS ?
Há a possibilidade de reinstalar o servidor ?
Como está a disposição dos discos na controladora ? ( algumas
controladoras compartilham um unico canal sata para dois discos o que
diminui significativamente a velocidade do BUS para leitura.
Verifica se a controladora possui canais de acesso ao disco
independentes ou compartilhados, se forem compartilhados utilize um
porta por canal para cada disco, pelo que recordo essa controladora tem
suporte a 8 portas e somente 4 canais sendo dois de 6Gb/s ( não
compartilhando ) e 6 de 3Gb/s ( compartilhado )
Se usar os canais de 6Gb/s e também os de 3Gb/s a velocidade dos de
6Gb/s fica comprometido ao 3Gb/s, uma boa disposição dos discos entre os
canais permitirá aumentar tanto a velocidade de escrita como a de leitura.
Também de uma olhada no I/O, algumas controladoras basicamente mata os
IRQ/s do processador devido a uma quantidade limitada de buffer e em
outro casos se o buffer do disco for muito pequeno fica limitado a
velocidade de leitura das agulhas.
Infelizmente o seu hardware já está adquirido, e também não sei qual a
aplicação que vai usar nesse servidor, contudo se for banco de dados
recomendaria um raid stripe entre as duas portas SATA 6Gb/s usando
discos SSD para manter o grosso do banco de dados e um segundo array
usando 6 discos SATA com um bom buffer ( 64Mb/s ou 128Mb/s ) para dados
menos acessados, requer um bom conhecimento de particionamento de
tabelas ou templates do database e conhecimento da aplicação para poder
usar esses recursos ( mas aqui saimos do âmbito do seu problema )
Retira o raid implementado entre o disco e o Raid-Z e destine pelo menos
de 2 a 4 Gbytes para o ZFS, creio que irá resolver ( mascarar ) o seu
problema de leitura.
Att. Paulo Henrique.
--
##################################################
:UNI><BSD:
Paulo Henrique
UnixBSD Tecnologia
Segurança em Tecnologia da Informação
Fone: (21) 96713-5042
Site: https://www.unixbsd.com.br
##################################################
Mais detalhes sobre a lista de discussão freebsd