[MASOCH-L] Performance em ReiserFS
João Carlos Mendes Luis
jonny at jonny.eng.br
Mon Jan 2 18:59:36 -03 2006
Edson Noboru Yamada wrote:
> Oi, João,
>
> Nunca fiz testes de laboratório, mas té onde posso enxergar, por mais
> elaborado que seja um algoritmo de
> otimização de acesso pro RAID1, no máximo 2 discos serão lidos
> simultaneamente;
> no caso do RAID 5 ou RAID 0, naturalmente (sem otimização) todos
> os discos serão lidos. Isto não seria melhor?
>
Depende do tipo de acesso. Veja abaixo.
> Se a sua teoria está certa, qual seria a vantagem do RAID1+0 sobre o RAID1?
>
Bem, para começar o RAID1 não aumenta o tamanho da área de dados e o
RAID0 não dá redundancia, enquanto o RAID0+1 faz os dois.
Note que o desempenho não entrou nessa comparação. ;-)
> Pra mim
> é justamente isso: em vez de ler 1 ou 2 discos, distribui-se a carga por
> todos os discos.
>
A pergunta correta seria: Existe ganho de desempenho em um RAID0? De
que tipo? Como fica esse ganho em comparação com JBOD?
Na prática, JBOD favorece acessos onde o Seek Time é mais importante,
enquanto RAID0 favorece acessos onde a taxa de transferência é
importante. Se o seek time é grande, o ideal é dividir os seeks entre
os discos. Para isso, JBOD é melhor, permitindo que grupos diferentes
de setores (altos, médios, baixos) sejam acessados em paralelo. Se a
taxa de transferência é mais importante, então o RAID0 é bom, pois
mantém o seek time original, e consegue transferir N vezes mais setores
por unidade de tempo.
Um benchmark que acesse um único arquivo vai achar que o RAID0 é melhor,
por outro lado, um benchmark que acesse vários arquivos simultaneamente,
em um file system que espalhe os arquivos ao longo do disco vai achar
que o JBOD é melhor. Um sistema operacional multi-tarefa deve se
comportar melhor num sistema JBOD, mas não tenho dados reais medidos
para corroborar esta afirmação.
O RAID1 se comporta para leitura como JBOD ou algo próximo de RAID0, de
acordo com a implementação do algoritmo de leitura. Num algoritmo
ineficiente, o desempenho pode ser pior que RAID0, como se não houvesse
RAID nenhum.
Da ultima vez que tive que tomar essa decisão, *não* optei por RAID0+1.
Fiquei com JBOD + RAID1, ou melhor, geom_mirror + geom_concat:
# gmirror status
Name Status Components
mirror/gm0 COMPLETE da0
da2
mirror/gm1 COMPLETE da1
da3
# gconcat status
Name Status Components
concat/gc0 UP mirror/gm0
mirror/gm1
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/concat/gc0a 989M 58M 852M 6% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/concat/gc0d 4.8G 2.7G 1.7G 61% /usr
/dev/concat/gc0e 264G 200G 43G 82% /data
/dev/md0 496M 20K 496M 0% /tmp
Essa opção inclusive tem mais uma vantagem: Os discos não precisam ser
todos iguais, basta que sejam iguais 2 a 2.
Observação: Vale lembrar que eu entrei neste thread pedindo
informações! Eu me considero nenhum expert nisso, estou apenas
apontando minhas conclusões a respeito do assunto.
More information about the masoch-l
mailing list