Questão de teste SQLIO Performance

1

Estou encontrando um desempenho de problema ajustando uma SAN. Eu estou testando 24 pontos de montagem que são RAID-5 em um EMC DMX com SQLIO. O host que estou testando tem 256 GB de RAM e 32 núcleos.

Estou usando um arquivo Param na minha linha de comando, que é assim:

M:\ASRS\ASRS_SQLData01A\testfile.dat 8 0x0 6000
M:\ASRS\ASRS_SQLData02\testfile.dat 8 0x0 6000
M:\ASRS\ASRS_SQLData03\testfile.dat 8 0x0 6000

Uma linha de comando de amostra é assim:

call sqlio -kR -s60 -fsequential -o8 -b64 -LS -Fparam.txt

Minha pergunta é esta:

Quando eu testo apenas 1 ponto de montagem, vejo 850MB / seg e 14k IOs / seg, mas quando testo vários arquivos, 850MB / seg é o máximo que eu vejo. Então eu acredito que estou atingindo um gargalo em algum lugar. O anfitrião tem 8 cartões de canal de fibra de 4 gigabits, por isso acho difícil acreditar, por isso estou preso a "adivinhar" que é o HBA / SP ou o SQLIO.

Há algo que eu esteja sentindo falta que possa ser o gargalo da garrafa? Esse comportamento normal ou o SQLIO deve agregar a taxa de transferência em todos os pontos de montagem?

Como observação, em uma tentativa de provar que o SQLIO não era o problema e que não estava "calculando" a largura de banda dos arquivos, executei duas instâncias do SQLIO ao mesmo tempo em diferentes pontos de montagem e vi aproximadamente 400mb / s em cada um. Para mim, isso provou que não é o SQLIO.

    
por Craig Lucas 17.02.2011 / 18:57

1 resposta

1

O PowerPath (ou o equivalente em seu sistema) está configurado para balancear a carga dos HBAs adequadamente? Todos os HBAs estão funcionando corretamente? Você deve ser capaz de acessar o servidor e dar uma olhada na configuração do Powerpath para obter essas respostas.

Sempre vale a pena dar uma olhada no log de eventos do Windows para ver se alguma mensagem está surgindo dos HBAs ou do PowerPath.

Não me lembro se o DMX usa pools de armazenamento ou não, mas algumas boas perguntas básicas ao analisar o desempenho da SAN são: Quantos discos o armazenamento está distribuído? Mais é geralmente melhor. Se forem apenas alguns discos, questione. Contanto que você esteja perguntando sobre discos, é melhor perguntar sobre as taxas de RPM. Mais rápido é melhor e 15K é melhor se você não conseguir obter SSD (o que você provavelmente não conseguirá). Todos esses pontos de referência fazem referência às diferentes áreas do (s) mesmo (s) disco (s)? O SQL Server está compartilhando esses discos com outros aplicativos? Quanta cache de gravação está disponível no DMX, e meus arquivos de teste são grandes o suficiente para que eles não caibam no cache?

(Lição de história: IIRC, super-old DMXes usaram drives SCSI e (paralelo!) barramentos para conectar o (s) processador (es) de serviço aos discos. IIRC, um barramento SCSI-3, que comportaria até 15 discos, poderia ser saturado pelo IO para apenas 3 ou 4 discos de 15KRPM e simplesmente não poderia manter-se com 15 (ou mesmo 7) discos. É por isso que, mais ou menos, temos o SAS.)

Os administradores de SAN podem dizer que há muito cache de gravação no DMX que você não pode sobrecarregá-lo. Isso não é necessariamente verdade (eu tive um incidente desse tipo com um DMX de 8 anos atrás, com um novo e sofisticado Itanium SQL Server empurrando dados para ele.). Eles estão freqüentemente corretos; eles têm essa opinião porque geralmente estão preocupados com o espaço de armazenamento e a utilização mais do que o desempenho do armazenamento. MAS muitos administradores de SAN não percebem o quão rápido o SQL Server pode gerar dados (para testes, faça algumas junções cruzadas entre algumas tabelas de sistema e cole os dados resultantes em uma tabela temporária com SELECT INTO, depois observe a E / S no log arquivo.)

Os administradores de SAN também podem informar que há muitos discos sob seus LUNs, o que também pode ser discutível. Para referência, acesse tpc.org e veja como os sistemas de armazenamento são configurados para benchmarking. Lembre-se, uma vez que o DMX (ou qualquer outra coisa) fique sem cache de gravação, o sistema tem que confiar nas habilidades dos discos subjacentes.

Os administradores da SAN devem saber se os testes estão ficando sem cache de gravação ou se os discos em que os dados do servidor estão ligados estão sobrecarregados.

Esse é um bom número de HBAs; Eu nunca tive mais do que 4x4gb / sec HBAs. Tem certeza de que você não está vendo algum tipo de contenção ou gargalo no seu backplane PCIe? Diferentes tipos de PCIe têm diferentes taxas de dados .

Tem certeza de que todos esses núcleos estão sendo carregados uniformemente quando você executa o sqlio e que nenhum deles está atingindo 100%? Uma rápida olhada no Gerenciador de Tarefas lhe dirá.

Além disso, acho que você desejaria que um administrador de SAN consultasse o lado da SAN, incluindo qualquer comutador de malha entre seu servidor e o DMX.

    
por 17.02.2011 / 21:10