adicionar pilhas de unidades a um ataque 0 aumenta o desempenho?

8

adicionar pilhas de unidades a um ataque 0 aumenta o desempenho? Eu sei que duas unidades em um ataque listrado geralmente são mais rápidas que uma única unidade mas vou notar uma diferença no desempenho entre, digamos, 2 drives em uma raid e 8? Existe um limite geral para o número de unidades no ataque antes que você realmente não obtenha mais benefícios?

uma pergunta semelhante foi feita aqui

A adição de mais unidades a um RAID 10 Matriz aumenta o desempenho?

mas eu estou realmente perguntando se adicionar muitas unidades a uma invasão 0 tem melhorias sobre apenas adicionar, digamos 2 ou 4. o desempenho continua aumentando?

    
por Peter Cullen 28.05.2015 / 00:55

2 respostas

10

Em teoria, sim, mais unidades em um raid0 levariam a um desempenho mais alto porque a carga é compartilhada em mais unidades. No entanto, na prática, você seria limitado pela largura de banda do controlador RAID, o desempenho da CPU e da memória e similares. O aumento de desempenho não seria linear, ou seja, quatro discos não são exatamente duas vezes mais rápidos que dois discos.

Em qualquer sistema razoavelmente moderno com um controlador RAID, ou mesmo usando uma invasão de software com o Linux 'mdadm, usar 8 unidades será mais rápido do que usar 2 e você não deve ser retido pelo restante do desempenho do sistema. A CPU, ataque e / ou controlador de disco, memória, tudo deve ser capaz de lidar com isso. Você pode ver um aumento no uso de recursos do sistema quanto mais unidades você adicionar. Especialmente se você usar o controlador SATA integrado em uma combinação de tela. Mas nada que realmente prejudique a usabilidade geral. Se estiver usando o linux, você pode querer usar um kernel que tenha sido configurado sem "preempção" para que as tarefas orientadas ao servidor tenham preferência sobre a capacidade de resposta do usuário.

link

É claro que quanto mais discos você adicionar, maior a chance de um deles falhar e todo o seu ataque for destruído. Eu esperaria um raid0 de 8 drives para não durar mais de um ano ou dois, se você tiver sorte. Um raid0 de 16 drives estaria pedindo problemas e então eu consideraria um raid10, ele ainda seria rápido o suficiente e você teria menos com o que se preocupar.

Quanto a quantas unidades maximizariam os recursos de um sistema, eu não saberia a menos que eu tivesse especificações detalhadas do sistema. Eu acho que você seria limitado mais pela taxa de falha, se você passar por cerca de 16 discos (eu prefiro não pensar nisso).

Naturalmente, você só usa o raid0 para dados que podem ser perdidos a qualquer momento sem problemas. Funcionaria muito bem para coisas como um servidor de compilação ou espaço de rascunho para grandes cálculos científicos. Na verdade, esses cenários são o que eu costumava usar um raid0 e é uma ótima maneira de extrair um pouco mais de vida de um monte de discos mais antigos, de baixa capacidade e baratos que, de outra forma, teriam acumulado poeira. Você pode até misturar tamanhos, pelo menos com o mdadm.

Se estiver usando o mdadm, pode valer a pena considerar apenas usar um raid10, já que em certas configurações ele pode se aproximar do desempenho de um raid0, que é o desempenho de leitura de um raid0 e melhor desempenho de gravação sobre outros níveis de raid (exceto raid0) . Você teria uma redundância melhor do que outros níveis de ataque, com apenas uma pequena penalidade de velocidade em comparação a um raid0. Esse seria o melhor dos dois mundos, você não acha isso com frequência.

link

Linux MD RAID 10 provides a general RAID driver that in its "near" layout defaults to a standard RAID 1 with two drives, and a standard RAID 1+0 with four drives; though, it can include any number of drives, including odd numbers. With its "far" layout, MD RAID 10 can run both striped and mirrored, even with only two drives in f2 layout; this runs mirroring with striped reads, giving the read performance of RAID 0. Regular RAID 1, as provided by Linux software RAID, does not stripe reads, but can perform reads in parallel.

Como sugerido nos comentários, misturar tamanhos com o mdadm não aumentará a velocidade se você utilizar todo o espaço em disco, ao invés de permitir que o menor disco defina o tamanho do array.

O tempo também não irá melhorar em um raid0 e pode até se tornar um pouco mais lento. Para um RAID0 baseado em SSD, o tempo de busca seria tão pequeno (entre 0.08 e 0.16 ms link ) não importa muito o que eu espero.

    
por 28.05.2015 / 01:17
1

Depende da carga de trabalho, mas a IMHO sim adicionando 2 discos adicionais à matriz existente de 2 discos deve oferecer um melhor desempenho geral.

Você precisa perceber onde estão os gargalos:

  • CPU - quanto a CPU de fluxo de dados pode processar,
  • barramento / controlador - quantos dados ele pode carregar,
  • SSD / HDD - quantos dados ele pode dar / receber.

Vamos supor que exista um RAID de software do Linux e, em seguida, adicionar dois discos adicionais MAY resultam em:

  • ~ duas vezes menos tempo de acesso a um bloco de dados grande o suficiente, o que resulta em
  • ~ double IOPS,
  • ~ throughput duplo, supondo que o controlador tenha barramento suficiente e a CPU possa manipular o tráfego.

* ~ isso nunca é aumentar duas vezes nos seguintes fatores, sempre menos 10-20%. Parece mais ou menos linear. Por favor, não trate isso como uma resposta autoritária, eu não fiz nenhum estudo sobre isso.

    
por 28.05.2015 / 16:59