Por que vejo um grande impacto no desempenho com o DRBD?

6

Eu vejo um desempenho bem maior com o DRBD do que o manual do usuário diz que eu deveria receber. Estou usando o DRBD 8.3.7 (Fedora 13 RPMs).

Eu configurei um teste DRBD e medi o throughput de disco e rede sem o DRBD:

dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 4.62985 s, 116 MB/s

/ é um volume lógico no disco com o qual estou testando, montado sem DRBD

iperf:

[  4]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec

De acordo com as Expectativas de sobrecarga de throughput , o gargalo seria o que é mais lento, a rede ou o disco e o DRBD devem ter uma sobrecarga de 3%. No meu caso, a rede e a E / S parecem ser bastante parecidas. Parece que eu deveria ser capaz de obter cerca de 100 MB / s.

Então, com o dispositivo raw drbd, eu obtenho

dd if=/dev/zero of=/dev/drbd2 bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 6.61362 s, 81.2 MB/s

que é mais lento do que eu esperaria. Então, depois de formatar o dispositivo com o ext4, recebo

dd if=/dev/zero of=/mnt/data.tmp bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 9.60918 s, 55.9 MB/s

Isso não parece certo. Deve haver algum outro fator jogando nisso que eu não conheço.

global_common.conf

global {
usage-count yes;
}

common {
protocol C;
}

syncer {
al-extents 1801;
rate 33M;
}

data_mirror.res

resource data_mirror {
    device /dev/drbd1;
    disk   /dev/sdb1;

    meta-disk internal;

    on cluster1 {
       address 192.168.33.10:7789;
    }

    on cluster2 {
       address 192.168.33.12:7789;
    }
}

Para o hardware, tenho duas máquinas idênticas:

  • 6 GB de RAM
  • Quad core AMD Phenom 3.2Ghz
  • Controlador SATA da placa-mãe
  • 7200 RPM 64 MB de cache 1 TB de unidade WD

A rede é de 1 Gb conectada por meio de um switch. Eu sei que uma conexão direta é recomendada, mas isso poderia fazer muita diferença?

Editado

Eu apenas tentei monitorar a largura de banda usada para tentar ver o que está acontecendo. Eu usei ibmonitor e medi a largura de banda média enquanto fiz o teste dd 10 vezes. Eu tenho:

  • avg ~ 450Mbits escrevendo para ext4
  • avg ~ 800Mbits escrevendo para o dispositivo bruto

Parece que, com o ext4, o drbd está usando cerca de metade da largura de banda usada com o dispositivo bruto, portanto, há um gargalo que não é a rede.

    
por BHS 04.11.2011 / 18:02

1 resposta

2

Você está limitando a largura de banda com "rate = 33M" por quê? Você está usando o protocolo síncrono "C" por quê?

Eu geralmente uso o protocolo "A" e 8 MB de buffer. Para uma linha Gigabit e tráfego intenso, limito a "rate = 90M".

    
por 01.01.2012 / 21:38