O que é o desempenho típico da SAN?

3

Eu tenho pouca experiência com SANs, então, por favor, desculpe este novato.

Um de nossos sites de produção tem uma SAN HP EVA8000 com vários discos (esqueça exatamente o quanto). ele foi configurado em um monte de raid5 e o SQL Server usa um volume RAID para dados e outro para o Log.

Até aí tudo bem. Ou então eu pensei

Hoje fiz alguns testes de velocidade. Usando o rdfc, criei um arquivo de 100 MB no disco de dados principal enquanto o sistema era muito usado. Isso mostrou entre 5 e 20 MB / s de taxa de transferência para gravação, o que, na minha opinião, foi um pouco baixo. Em seguida, retirei o aplicativo para manutenção e executei o teste novamente. Desta vez, em um sistema silencioso, obtive um desempenho de gravação de 50MB / s.

Isso não é um pouco baixo? Quer dizer, eu recebo o mesmo da unidade SATA na minha área de trabalho.

Em seguida, tentei gravar 500 MB em uma unidade (a unidade de dados), enquanto escrevia 500 MB para outra unidade (a unidade de registro). Essas duas gravações interferiram umas nas outras. Isso é um sinal de algo errado?

Não sei o que esperava, mas atualmente estou revisando o sistema para tentar localizar pontos de estrangulamento.

Então, eu acho que minha pergunta seria. Que tipo de desempenho você esperaria (leitura / gravação) de uma (provavelmente) cara SAN usando conectores Fiber?

(Não, não é o pequeno netgear thingy; é isso) link

    
por Soraz 22.06.2009 / 22:13

6 respostas

4

Temos um EVA6100, então fiz testes em hardware similar. O 8000 é, IIRC, um sistema mais antigo que o 6100.

Primeiro, suas gravações no volume do BD e no volume de Logs são muito prováveis para as gravações, já que elas parecem estar no mesmo Grupo de Discos dentro do EVA. Um grupo de discos é um agrupamento de discos nos quais você cria LUNs e cada LUN é um disco apresentado a um (ou mais) servidores. Não é incomum abrigar muitos LUNs em um único grupo de discos. Se você tiver apenas um grupo de discos, os benefícios de separar sua E / S de log de sua E / S do banco de dados são um pouco reduzidos.

Em segundo lugar, se esse DG está correndo em verdadeira contenção de E / S, então ele vai degradar o desempenho. Isso é algo muito difícil de verificar do ponto de vista do consumidor, é o tipo de coisa de que os mantenedores da SAN precisam estar cientes. Pergunte se eles sabem qual é a carga média da CPU do controlador, pois isso afetará significativamente seu desempenho de gravação.

Em terceiro lugar, saiba que sua mixagem de E / S é realmente uma referência para isso, não apenas para a velocidade de cópia de arquivos. Se o volume de E / S do seu banco de dados for de 80/20 leitura / gravação, você realmente desejará verificar o throughput do caminho de leitura. Se é o contrário, então seu desempenho de gravação é a métrica que você realmente precisa verificar.

    
por 22.06.2009 / 22:25
3

Ao escrever um arquivo grande, você não mede o desempenho do armazenamento. Você apenas mede o desempenho de escrever um arquivo grande. Você está, infelizmente, enganado se acha que obterá algo semelhante quando: escrevendo aleatoriamente em todo o disco, escrevendo muitos blocos simultaneamente, escrevendo blocos realmente grandes ou muito pequenos. Eu garanto que você pode ter de sua matriz no máximo 1 MB / s em um tipo de carga de trabalho e, em seguida, com outra carga de trabalho / configuração, você obterá facilmente 800 MB / s (... desde que seu servidor possa lidar com isso).

Se você quiser aprender sobre isso, use uma ferramenta adequada. Eu usei o Intel IOMeter na época e aprendi muito com ele. Provavelmente agora existem algumas ferramentas melhores. O principal parâmetro a observar é o tamanho da fila e a operação aleatória versus sequencial. Leia sobre mecânica de disco, por que o tempo de busca é tão inacreditavelmente lento e como o RAID5 funciona.

Se você quiser saber como o seu armazenamento está funcionando na vida real, dê uma olhada nos contadores do PhysicalDisk em perfmon.exe durante o seu dia de trabalho. Em seguida, crie alguma carga em sua aplicação real e observe o que acontece.

    
por 22.06.2009 / 22:47
3

Outra coisa importante a verificar é o alinhamento adequado do disco. Mais de uma vez, vi LUNs não alinhadas serem a origem de grandes problemas de desempenho. Se o deslocamento na partição não for definido antes da formatação, você poderá ver 25% de resultados de desempenho no IO.

O RAID 10 também é uma opção melhor, pelo menos para as LUNs de log.

Por fim, você pode ajustar a proporção de cache de leitura / gravação no LUN para 100% de gravação, pois o SQL Server faz um ótimo trabalho de armazenamento em cache para leituras.

O SQLIO é uma boa ferramenta para benchmarks, mas definitivamente não é para produção. É fácil de usar, executa testes de leitura / gravação seqüenciais e aleatórios de tamanho variável e contribui para uma boa base de comparação com outros sistemas.

    
por 03.07.2009 / 22:50
2

Olhe para o RAID10. Um colega inteligente uma vez me convenceu de que é melhor do que o RAID5 para bancos de dados intensivos de gravação, e ele estava certo. É.

    
por 23.06.2009 / 04:30
1

Parece muito baixo, caixas EVA8xxx são muito rápidas quando você considera que elas são construídas para facilidade de uso. Nós temos muitos deles para várias coisas e eu tenho um 8100 sobressalente com 112 * 1TB 7.2k discos e eu posso facilmente inundar uma conexão FC de 4Gbps, mesmo em um vDisk RAID5 - que é cerca de 385MBps.

Eu acho que algo está acontecendo, eu ficaria feliz em oferecer ajuda, mas poderia demorar um pouco, você pode ser melhor se você entrar em contato com a HP se você tiver um bom relacionamento com eles.

Deixe-me saber como você está indo bem.

    
por 22.06.2009 / 22:23
0

Que tipo de discos estão no SAN (canal de fibra, sata etc), que podem ter um efeito importante na velocidade de sua obtenção. Além disso, quando você está fazendo os testes que eu faço, você está copiando dos servidores diretamente conectados à SAN?

    
por 22.06.2009 / 22:26