Existem algumas variáveis que podem afetar a velocidade, mas eis algumas idéias básicas para ter uma ideia do que um determinado conjunto de raid deve ser capaz de fazer.
Taxa de transferência do disco rígido
Supondo que uma busca aleatória completa uma média de 1/2 de uma rotação (180 graus) longe do setor desejado, o tempo médio de acesso aleatório é uma média de busca mais o tempo que o disco leva para girar 180 graus. / p>
-
Em um disco de 10K RPM 1/2 de uma rotação
leva aproximadamente 3ms.
-
Em uma velocidade de 15K
disco 1/2 de uma rotação leva
aproximadamente 2ms.
-
Tempo médio de pesquisa para um Seagate
Cheetah 15K6 é cotado a 3.5ms para
leituras e 3.9ms para gravações (eu presumo
as gravações incluem um período para alinhar
a cabeça nas faixas do servo). Um disco de 10k é um pouco mais longo.
So, a raw estimate is an average of
5.5ms per random seek for a 15K drive and 7ms for a 10K drive. Tagged
command queuing will optimise this
slightly. Thus, for a 15k drive we
have a theoretical random throughput
of about 180 IOPS and 140 IOPS for a
10K drive.
RAID-1
Em um RAID-1 sem distribuição, as leituras podem ser divididas entre os dois discos, mas as gravações devem ser enviadas para ambas as unidades. Operações aleatórias darão a você duas vezes a taxa de transferência de um único disco para leituras e aproximadamente a taxa de transferência de um único disco para gravações. E / S sequencial tende a atingir o pico na taxa de transferência máxima de um único disco. Cabos de interface podem ou não apresentar um gargalo.
Conjuntos RAID distribuídos
Os discos RAID-5, RAID-10 ou RAID-50 têm os dados divididos em blocos espalhados de forma circular entre os membros do conjunto RAID. Supondo que não haja otimização de leitura antecipada, um disco pode ler no máximo uma faixa por revolução do disco. Um disco de 10K gira cerca de 170 vezes por segundo e um disco de 15K gira em torno de 250 vezes por segundo.
For a 64K stripe this comes to
approximately 10MB/sec per 10K disk or
15MB/sec per 15K disk. Larger stripe
sizes give you better sequential
throughput on the disks - for example
a 256K stripe size on an array of 15K
disks would give you 60MB/sec per
disk. A heavily random access
workload will reduce this by
introducing more latency between
seeks. Read-ahead on a controller
might increase it.
Assim, uma matriz com 14 discos de 15K usando faixas de 64K teria uma taxa de transferência de fluxo teórica de cerca de 210MB / s, sem outras restrições. Se o controlador não for rápido o suficiente, a taxa prática pode ser menor (por exemplo, eu nunca consegui obter um dell PV660 (Mylex DAC-FFX) para obter mais de uma leitura por duas revoluções dos discos). Uma carga de trabalho de acesso altamente aleatória também seria um pouco mais lenta, porque os acessos ao disco custarão menos de um por revolução do disco. Algumas leituras também serão usadas em dados de paridade para que a taxa de transferência real dos dados do aplicativo seja um pouco mais lenta.
Escrever gargalos
A gravação mais rápida possível em um RAID-5 envolve duas leituras e duas gravações. O controlador tem que ler o bloco antigo e o bloco de paridade correspondente, XOR os dados antigos e novos com o bloco de paridade para recalcular a paridade e escrever o novo bloco e paridade. O armazenamento em cache pode reduzir a quantidade de atividade do disco se o bloco antigo e o bloco de paridade estiverem no cache. O mesmo se aplica a um RAID-50.
Um RAID-10 precisa de dois acessos ao disco por gravação - um para o principal e outro para o espelho. O desempenho de leitura é aproximadamente equivalente a um RAID-5.
Gargalos de controle
Em alguns casos (o fibre channel é propenso a isso), as conexões com o subsistema de disco físico são de largura de banda um pouco menor do que os discos são teoricamente capazes de fornecer. Além disso, controladores de disco podem executar mal. Em muitos casos, isso é uma limitação mais significativa do que os próprios discos. O hardware SAN high-end geralmente possui grandes máquinas multiprocessadoras como controladores - eles também podem ter hardware personalizado para cálculos de paridade rápida. O controlador de um EMC DMX ocupa metade de um rack sozinho - antes de colocar qualquer disco nele.
Ajustando o próprio disco
Os parâmetros de cache e leitura antecipada nos próprios discos também podem afetar a performance de certas cargas de trabalho. Por exemplo, discos usando o firmware 'V' da Seagate podem ser configurados para menos segmentos de cache maiores e leitura antecipada agressiva para otimizar a taxa de transferência de dados de mídia. O mesmo disco físico configurado para uso em um Clariion seria configurado com mais segmentos de cache menores para suportar um número maior de gravações menores de muitos clientes em uma SAN.