Desempenho do RAID Array em um HP Proliant ML350 G5 Smart Array E200i

4

Temos um cliente que está reclamando sobre o desempenho de um aplicativo que utiliza um banco de dados MS SQL. Eles não acreditam que os problemas de desempenho sejam culpa do próprio aplicativo.

O controlador RAID Smart Array E200i tem 128 MB de cache e temos o cache configurado para 75% de leitura / 25% de gravação. A matriz de disco definida para ativar o cache de gravação.

Recentemente, executamos um teste de desempenho em disco usando SQLIO com base no este guia . Usamos um arquivo de 10 GB para o teste e descobrimos que a taxa média de leitura sequencial era de ~ 60 MB / s (megabytes / segundo) e a taxa média de leitura aleatória era de ~ 30 MB / s. Esses números são parecidos com o que o servidor deve estar executando? Melhor que a par? Horrível? Incrível?

Informações adicionais sobre a configuração do servidor / configuração do controlador RAID:
Existem três unidades SAS de 146 GB, 10k RPM, 3,0 GB / s (modelo HP DG146BABCF), configuradas em uma matriz RAID 5. Esses são os únicos discos físicos disponíveis para o servidor, portanto, os logs e os dados, incluindo os dados do sistema operacional e o arquivo de paginação, estão todos na mesma matriz de disco físico (há duas unidades lógicas com os dados do sistema operacional separados). O tamanho da faixa da matriz é definido como 64k. O espaço total utilizável é de 273 GB.

O HP Advanced Data Guard está desativado. Recriar e expandir a prioridade são definidas como médias. O atraso da varredura da superfície é de 15 s. O controlador tem uma placa de cache e uma bateria.

    
por Nate Pinchot 11.06.2010 / 14:51

6 respostas

4

Muitos imponderáveis. Por exemplo, como os discos são configurados? Se os logs e dados compartilharem os mesmos discos, a E / S aleatória das áreas de dados interromperá o tráfego de log, que é principalmente E / S sequencial e será desproporcionalmente afetado por uma carga de trabalho de acesso aleatório nos mesmos discos.

Sem mais informações sobre sua configuração, não posso dizer o que pode estar causando o problema.

Por exemplo, 60MB / seg de um RAID é o ideal para um RAID-5 de 4 discos ou um RAID-10 com faixas de 64k e unidades de 15k. Cada unidade irá ler uma faixa de 64k por rotação do disco (cerca de 250 / seg para uma unidade de 15k), o que lhe dá 15MB / seg por unidade.

O tempo médio de busca para um disco de 15k é de cerca de 3ms em todo o disco. Em um arquivo de 10GB predominantemente contíguo em um volume RAID com (digamos) discos de 146GB ou 300GB e um pouco de ajuda do cache eu pude ver 30MB / seg sendo um valor razoável para uma matriz de disco configurada como descrito acima. Isso indicaria uma média de leitura de dados a cada duas revoluções dos discos.

Isso é um pensamento fora da minha cabeça para uma configuração que se poderia razoavelmente esperar ver em um ML350. No entanto, não tenho ideia se isso corresponde à sua configuração real, por isso não posso comentar se as observações são relevantes no seu caso.

    
por 11.06.2010 / 15:27
4

O E200i tem um desempenho notoriamente ruim, conforme documentado por Lukas aqui e Ryan aqui . Verifique se o kit de bateria opcional (BBWC) está conectado e se o HP Array Configuration Utility está mostrando que o status da bateria está correto. (No Utilitário de configuração do HP Array, clique no Controlador na visualização da configuração, no centro, e escolha Mais informações, no menu Tarefas comuns, à direita). Ter esta bateria no lugar dá ao controlador de disco um bom aumento no desempenho.

Mas a sua melhor aposta será trocar o E200 por um controlador HP "Smart" adequado, o P400 ou o P600 com o BBWC de 512MB lhe dará uma boa aceleração.

    
por 11.06.2010 / 15:38
2

Abaixo está um benchmark que fizemos com hardware similar, e algumas diferenças notadas. Eu diria que parte do impacto no desempenho se deve ao fato de as partições estarem desalinhadas (o Windows 2003 desalinha as partições por padrão). Execute o seguinte comando e, se o deslocamento inicial for 32256, ele estará desalinhado.

partição wmic obtém index, blocksize, name, startingoffset

Para alinhar corretamente as partições, você precisa usar o utilitário DISKPART.

Teste de hardware:
HP DL380 G5
2 tomadas, 4 núcleos totais
16GB de RAM
Controlador HP P400
Cache de 512 MB - 25% de leitura / 75% de gravação
10K RPM HDDs
Windows Server 2003, 32 bits Ciclo de teste de cinco minutos

Resultados (MBytes / segundo):
(RS: Leia RR sequencial: Leitura aleatória WS: Escreva WR sequencial: Escreva aleatoriamente)

Raid5 3 HD:
RS 180
RR 180
WS 120
WR 130

Raid5 4 HD:
RS: 240
RR: 260
WS: 175
WR: 180

Raid5 5 HD:
RS: 310
RR: 320
WS: 210
WR: 225

    
por 11.06.2010 / 19:03
2

Você não deve ter um Raid5 "pseudo-degradado" como uma loja de backup de banco de dados. AFAIK é a configuração de disco mais lenta possível. Adicionar em um controlador de baixo final e as coisas não vão melhorar.

Os proprietários do Hitachi AMS podem ignorar esta postagem (4disk raid5 = acima de 300MB / s). Para o resto, provavelmente se aplica.

    
por 17.11.2011 / 15:19
1

O Smart Array E200i tem um cache de gravação de bateria de backup instalado? Eu tenho visto um desempenho terrível dos controladores do Smart Array sem um BBWC.

Quanto às leituras de taxa de dados que você fez, não posso comentar que vi 60 MB / s de um sistema de desktop de ponta. No entanto, as leituras da taxa de dados podem ser ! Publique os parâmetros para a ferramenta que você usou para uma melhor comparação.

    
por 11.06.2010 / 15:33
1

A resposta curta = ATIVAR o cache de gravação MAS configure o WRITE CACHE para 0% por meio do HP CLI. [ctrl slot = 0 modifique o cacheratio = 100/0 | ctrl slot = 0 modify dwc = enable] Ligue, mas não use, vá em frente!

Acabei de configurar um servidor Open-e DSS V6 em uma HP ML350 G5 com uma controladora E200i RAID, 128MB BBWC e 6 x 1.5 TB 7200 RPM em uma matriz RAID 10. Eu estava recebendo um desempenho muito ruim, menos de 100 iostats em uma taxa de inicialização alta de volume de E / S de arquivo iSCSI. Eu tenho configurações semelhantes usando 3Ware 9550 cartões produzindo bem mais de 1000 iostats então eu estava tentando descobrir o que o ??? estava errado.

Um pouco de pesquisa me direcionou aqui e para um artigo da Experts-Exchange ( link ) . Parece que o processador RAID 5 e o cache de gravação são componentes problemáticos para este controlador. Eu não estava usando o RAID 5, então experimentei o cache de leitura / gravação através do controlador CLI da HP que o Open-e coloca convenientemente em seu software.

O CLI estava funcionando MUITO LENTO, os comandos demoraram um minuto para responder. Finalmente, o comando acima fez a matriz se aproximar da expectativa. Agora estou vendo quase 1000 iostats e o CLI está respondendo normalmente. Sim, você precisa ativar o cache de gravação e defini-lo como 0%. Nenhuma outra combinação parece funcionar. Mesmo usando a opção desativar cache de gravação falhou em fornecer desempenho aceitável.

    
por 05.04.2011 / 03:03