Fontes de afunilamento para o array de software Linux RAID5

2

Eu criei um array RAID5 de 7 drives com o mdadm e coloquei o LVM2 no array, caso queira expandi-lo no futuro. Eu formatado como XFS. Eu basicamente segui esta linha de tutorial para a linha:

Fácil de expandir o software Linux RAID 5 com o XFS. Melhores práticas?

Quando faço

hdparm -tT /dev/md0 

Eu vejo velocidades de leitura de 400MB / s +

No entanto, através da rede (crossover gigabit) eu só tenho 55-60MB / s para ler e escrever. É uma máquina muito nova (últimos 2 anos)

Quais poderiam ser algumas fontes do gargalo e como posso corrigi-las?

Obrigado.

    
por ensnare 09.04.2011 / 04:14

2 respostas

3

Para começar, sua rede gigabit é de 1000 Mbps - > 125MBps e depois de sobrecarga são apenas ~ 100MBps. Você está recebendo cerca de metade disso, o que não é ótimo; mas você nunca atingirá 400MBps ou até mesmo fechará.

Qual protocolo você está usando na rede? CIFS, AFS, NFS? Se é NFS, UDP ou TCP? Jumbo frames, tamanho do frame de dados, async / sync? Método de teste? Há muitos fatores que podem estar afetando seu desempenho.

Usando quadros de dados NFSv3, UDP, 8k, MTU 9k e async + aio, posso obter 102MBps da minha rede gigabit. Eu considero isso muito próximo do limite (note: estou executando o FreeBSD nos dois lados, não no Linux; e no ZFS não XFS ou EXT).

    
por 09.04.2011 / 04:45
2

Meça o desempenho do disco localmente para determinar se os 55-60MB / seg que você está vendo são o disco e / ou a rede.

Você pode testar as velocidades locais com 'time' e 'dd':

you@server$ time dd if=/dev/zero of=file.1 bs=4k count=10M

Isso deve escrever um arquivo de 40GB e informar quanto tempo demorou. É importante escrever um arquivo maior do que a RAM disponível, geralmente com o dobro do tamanho, se possível. Isso é para evitar qualquer efeito potencial de armazenamento em cache. Use qualquer combinação de tamanho de bloco para o tamanho da faixa e o tamanho do bloco de fs.

Em seguida, leia o arquivo de volta para testar a velocidade de leitura:

you@server$ time dd if=file.1 of=/dev/null bs=4k

Se o desempenho local for mais rápido do que os 55-60MB / seg que você vê sobre o CIFS de um host remoto, procure na rede (incluindo ambos hosts, você pode usar o iperf para isso). Se o desempenho local é o que está cobrando a 55-60B / s, você precisará fornecer mais detalhes sobre as especificações de hardware e configuração.

    
por 09.04.2011 / 08:46