Software RAID 10 não é mais rápido que s / w RAID 5 no Ubuntu 14.04, por quê?

3

Estamos fazendo alguns testes em um novo servidor de banco de dados com 4 discos SSD de 240 GB. Pelo que li, o RAID 10 deve ser mais rápido que o RAID 5 com a mesma redundância de "perda de um disco ok".

No entanto, quando testando com o bonnie ++, parece que o RAID 10 não é mais rápido do que o RAID 5. Alguma idéia do motivo?

  • 4 discos SSD de 240 GB, RAID de software, Ubuntu 14.04
  • Intel® Xeon® E5-1650 v2 Hexa-Core Ivy Bridge-E incl. Tecnologia Hyper-Threading 128 GB de RAM ECC
  • link

RAID5 (todos os 4 discos):

# cat /proc/mdstat
md2 : active raid5 sdd3[4] sdc3[2] sda3[0] sdb3[1]
      688730112 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        647G  1.6G  613G   1% /

# bonnie++ -d /tmp -u root

Version  1.97       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
db1a           252G  1113  99 474860  26 327393  16  5943  99 1192788  23 +++++ +++

Sequential write:   0.474 G/s
Sequential rewrite: 0.327 G/s
Sequential read:    1.192 G/s

RAID10:

# cat /proc/mdstat
md2 : active raid10 sdd3[3] sdc3[2] sdb3[1] sda3[0]
      459153408 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

 # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        431G  1.6G  408G   1% /

# bonnie++ -d /tmp -u root

Version  1.97       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
db1a           252G  1221  99 492972  27 323392  15  5688 100 1178194  23 +++++ +++

Sequential write:   0.492 G/s
Sequential rewrite: 0.323 G/s
Sequential read:    1.178 G/s

Atualizar

Eu executei o teste RAID 10 com o iozone para ver se um benchmark multithreaded funcionaria melhor, supondo que o CPU 99% -100% relatado pelo bonnie ++ possa indicar um gargalo:

# iozone -R -i 0 -i 1 -l 12 -u 12 -r 8k -s 22G
(12 threads, 8k block size, total file size of 264G)

"  Initial write "  538817.21  0.538 G/s
"        Rewrite "  511450.04  0.511 G/s
"           Read " 1087437.45  1.087 G/s
"        Re-read " 1201127.73  1.201 G/s
"    Random read "  576435.70  0.576 G/s
"   Random write "  400612.46  0.400 G/s

Os resultados são um pouco melhores que o bonnie ++, mas não muito.

Resultados do iozone para o RAID 5:

"  Initial write "  516469.10   0.516 G/s
"        Rewrite "  489970.21   0.489 G/s
"           Read " 1116074.84   1.116 G/s
"        Re-read " 1116666.97   1.116 G/s
"    Random read "  611738.43   0.611 G/s 
"   Random write "  199486.44   0.199 G/s

Assim, como explicado nas respostas, o desempenho de gravação aleatória RAID 10 é duas vezes mais rápido que o RAID 5, mas todas as outras estatísticas são semelhantes ou ligeiramente melhores.

    
por David Tinker 26.11.2014 / 17:14

2 respostas

2

From what I have read RAID 10 should be faster than RAID 5 with the same "one-disk loss ok" redundancy.

Eu não concordo.

Vamos dar uma olhada nas leituras - aqui, não há razão para que haja alguma diferença. Ambos permitem ler dados de todas as quatro unidades e usar sua largura de banda total. Com o RAID 5, nenhuma paridade é lida, a menos que seja necessária, portanto não há diferença.

Agora, vamos ver as gravações. Para o RAID 10, a largura de banda é reduzida pela metade, pois cada gravação precisa ser feita duas vezes. Com o RAID 5, não é tão ruim assim. Temos que escrever paridade, mas apenas 1/4 dos dados é paridade (para cada 3 bytes de dados que escrevemos, temos que escrever um byte de paridade). Então o RAID 10 reduz a largura de banda, o RAID 5 tem 33% de penalidade. Então o RAID 10 é um pouquinho pior aqui.

Por que o RAID 10 deve ser melhor? (Supondo que não haja falhas no dispositivo.)

    
por 27.11.2014 / 08:37
0

Eu não sei se o RAID é de alguma utilidade com um SSD. Distrubutes de distribuição funcionam em vários cabeçotes de disco, mas os SSDs já têm excelente acesso aleatório.

    
por 26.11.2014 / 17:42