Quais tamanhos de bloco e tamanhos de faixa causarão problemas de desempenho usando o RAID5?

1

Estou tentando entender o tamanho do bloco e o tamanho da faixa. Eu percebo que isso poderia se aplicar a mais configurações do que apenas RAID5, mas estou interessado especificamente em RAID5, porque gostaria de entender a relação entre tamanho de bloco e tamanho de faixa e os tamanhos que causarão degradação de desempenho e por que causam problemas de desempenho ...

O que eu entendo até agora é que o tamanho do Stripe seria a quantidade de espaço em cada "coluna" (drive?) no disco que pertence a um Stripe (basicamente uma linha da mesma quantidade de espaço que passa pela unidade

Portanto, se o tamanho da faixa for igual ao tamanho do bloco, vamos dizer que ambos são 64kb, o que acontece quando executo uma operação de gravação vinda do servidor SQL, o que faria todos os 64Kb de uma só vez?

A paridade será calculada após cada gravação de 64kb?

A faixa é tipicamente maior que o bloco. Se for muito maior, isso afetará o desempenho?

Aqui está um exemplo: Eu tenho o HP Array - RAID5 configurado. O tamanho do bloco na minha unidade lógica é de 512 bytes, o tamanho da alocação da unidade do Windows é 4KB e o tamanho da faixa é 256KB. Eu estou em um ambiente de gravação alto e a aceleração da unidade lógica é ativada e está definida como 100% / 0% (leitura / gravação) O que devo esperar em termos de desempenho? O que isso tem a ver com as relações entre o tamanho do bloco de 512 bytes e o tamanho da faixa de 256 KB?

    
por meltdownmonk 20.06.2013 / 14:47

1 resposta

2

Veja, aqui você erra ....

lets say both are 64kb, what happens when I run a write operation that's only a few bytes on a section of the drive that's full?(perhaps a large sql server database)

Isso não é possível.

Além do fato de que o NTFS tem blocos de 4kb ou mais - e é strongmente recomendado definir isso para 64kb para o SQL Server.

O SQL Server gerencia páginas de 8kb e sempre lê / grava 8 páginas como extensão - 64kb.

link

Como resultado, para o SQL Server, não há nada como escrever alguns bytes. Ele vai escrever 64kb.

Como tal, para o SQ LServer, recomenda-se a utilização de um tamanho de nó NTFS de 64kb (pelo que as extensões não causam IO dividido) e obviamente uma multiplicação de tamanho de raid de 64kb Raid (como edição empresarial do SQL Server adora ler antecipadamente ).

Para outros elementos, as coisas são semelhantes - não o SQL Server ... depende da inteligência do programador e dos padrões de acesso de um software específico.

    
por 20.06.2013 / 14:51