[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