SAN de Fiberchannel RAID é lento (DS4100)

1

Eu configurei dois DS4100 SAN ligados ao fiberchannel. Eu configurei várias configurações de RAID: RAID10 abrangendo 4 discos em cada SAN, alguns RAID5. (RAID de hardware manipulado pelo DS4100)

Estou executando a edição do Datacenter do Windows 2008 de 32 bits. Eu conectei o servidor ao SAN através do canal de fibra. Eu desabilitei "gravação em cache com o espelhamento".

Agora, o que eu fizer, parece que não consigo tirar mais de 40MB / s de desempenho do armazenamento SAN. Eu esperaria mais de 4 discos distribuídos (RAID10, 8 no total) ou 6 discos no RAID5.

Qual desempenho posso esperar dos discos SATA de 6 x 400 GB no RAID5?
Alguma ideia do que posso verificar para descobrir por que é tão lento?

    
por Tedd Hansen 04.05.2011 / 17:02

1 resposta

7

Vamos falar sobre as operações de E / S por segundo (IOPS)

Se você assumir que tem esses discos , a latência média é de 4.17ms (que é determinada pelo tamanho do disco e sua velocidade de rotação (neste caso, 7200RPM)). Você também precisa saber o tempo médio de busca de leitura / gravação para realmente calcular o IOPS. Este site alega que o tempo médio de busca é de 12ms (o que é horrível, e será a causa de seus problemas, como vamos ver ...)

Determinar a IOPS é bastante impreciso porque, para acertar, você precisa saber qual é a porcentagem de leitura em relação à sua porcentagem de escrita (as gravações são mais lentas que as leituras porque, aparentemente, a cabeça precisa ser posicionada com mais precisão).

O cálculo para IOPS é 1 / (latência média + tempo médio de pesquisa), portanto, cada unidade seria capaz de 1 / (0,00417s + 0,012s) ou 1 / 0,01617 ou cerca de 60 IOPS.

Então essa é uma unidade. Mas você tem vários!

Você mencionou um array RAID-10 de 8 discos. Isso é ótimo, porque enquanto você tem que escrever os dados duas vezes, você pode ler todos os 8 de uma só vez.

Assumindo uma carga de trabalho de 100% de leitura, 60 unidades de IOPS X 8 = 480 IOPS.

Como a IOPS se relaciona com a taxa de transferência? Bem, temos que voltar para a parte "imprecisa", porque depende de qual porcentagem do seu disco I / O é aleatório.

Em uma carga de trabalho aleatória de 100%, você pode supor que uma operação oferece um bloco. Então, qual é o tamanho do bloco?

De acordo com este PDF , o DS4100 tinha um tamanho de bloco de 16k.

Podemos usar isso para calcular a quantidade de saída que você pode obter.

Por volta de 480 IOPS, cada um com 16 KB, você obterá 7,68 MB / s com uma carga de trabalho puramente aleatória. Como a sua carga de trabalho não é aleatória, você está obtendo ~ 5.25x essa velocidade.

Olhe, eu duvido seriamente que você esteja indo sempre puxando grandes números com estas unidades. O tempo de busca de 12ms é quase criminoso, se esse é realmente o caso (descobrir), e provavelmente você também está escrevendo para o array, mesmo que não saiba que você é.

Meu conselho: saiba como é o seu perfil de I / O. Minimize a quantidade de gravações (monte-o noatime se não se importar com a compatibilidade POSIX). Obtenha discos melhores.

    
por 04.05.2011 / 17:57