Má desempenho de i / o do ZFS (raidz) no Debian

1

O problema que estou enfrentando está na minha máquina Debian (HP MicroServer N40L) executando o ZFS, que é compilado a partir do código-fonte baixado do zfsonlinux.com, parece ter um desempenho ruim.

O pool é criado a partir de 3 discos rígidos de 2 TB idênticos (Seagate, SATA, 5900rpm, 6GB / s). O sistema está sendo executado em outro disco rígido de 250 GB (7200 rpm, sem medo). O comando que usei para criar meu zpool é zpool create tank raidz hd1ID hd2ID hd3ID . zpool status tank indica que tudo está bem. Depois que eu suspeitei, usei bonnie (versão 1.96) para testar o desempenho bonnie -u root:root -x 5 -s 4096 e aqui estão alguns números que recebi de volta (a última linha são os números da unidade do sistema de 250GB, o que indica que o hd é muito mais rápido do que o meu zpool)

rewrite  seeks  ran_create  putc_latency  rewrite_latency  seeks_latency
11275    228246 2249        3770          116ms            191ms
10556    229326 7133        5388          147ms            247ms
10989    227938 13337       13569         128ms            141ms
11025    227938 873         3679          117ms            224ms
10926    229491 3580        6186          119ms            231ms
64389    111633 29779       30298         47190us          51692us

Eu também fiz time dd if=/dev/zero of=foo bs=1048576 count=1024 e consegui

1024+0 records in
1024+0 records out
1073741824 bytes (1.1GB) copied, 83.3947 s, 12.9 MB/s

real    1m23.397s
user    0m0.000s
sys     0m1.760s

O mesmo comando na unidade do sistema é

1024+0 records in
1024+0 records out
1073741824 bytes (1.1GB) copied, 9.52386 s, 113 MB/s

real 0m9.752s
user 0m0.00s
sys  0m2.984s

Parece que meu zpool está sendo executado muito lentamente. Eu fiz algo errado quando criei meu zpool? Como posso ajustá-lo para que ele funcione da maneira que deveria ser?

    
por Martin 17.03.2012 / 16:34

2 respostas

1

Eu suspeito que seu disco rígido relate setores de 512 bytes enquanto ele realmente tem 4 K. Isso é bem conhecido por ter um impacto muito negativo no desempenho, especialmente com configurações RAID-Z.

A solução alternativa é adicionar a opção ashift=12 no momento da criação do conjunto.

Alguns detalhes aqui

    
por 17.03.2012 / 22:53
0

Bem, a sua unidade de sistema é mais rápida do que as unidades de componentes, portanto você não está comparando maçãs com maçãs.

Mas isso é certamente muito menor do que seria de esperar - lembre-se de que o projeto nativo do ZFS no Linux ainda não está muito maduro e não otimizado para desempenho .

Há outro I / O acontecendo em seu pool do ZFS ao mesmo tempo em que você está testando? A CPU está saturando durante o dd ?

    
por 17.03.2012 / 20:35

Tags