Por que um aplicativo intensivo em disco seria executado mais rapidamente em uma SAN do que em um Disco Físico?

21

Por que um aplicativo intensivo em disco seria executado mais rapidamente em uma SAN do que em um Disco Físico? Eu esperava que o disco físico fosse um pouco mais rápido, mas, na verdade, o processo foi executado 100 vezes mais rápido quando sua unidade de trabalho foi definida como uma partição na SAN.

Nosso palpite é que a SAN é otimizada imediatamente para ser rápida, enquanto as configurações físicas de ajuste de disco estão relacionadas ao SO (Solaris) e não foram tocadas ou o SO corrigido.

Durante a atividade mais alta, a E / S do disco estava em execução a 100% e o tempo para concluir uma gravação foi superior a 2 segundos, pois vários processos estavam gravando no disco ao mesmo tempo.

(Para sua informação, o aplicativo envolvido era o Informatica PowerCenter)

Stuart Woodward
fonte

Respostas:

23

Não estou nem um pouco surpresa. As matrizes SAN normalmente têm muitos discos envolvidos. O fator limitante para a E / S do disco é a velocidade do disco individual, e essas pilhas. Seis unidades localmente em um RAID10 terão um desempenho melhor que 2 e 80 unidades em uma SAN terão um desempenho melhor que 10 unidades localmente. Existem variáveis, é claro, mas é assim que deve funcionar.

Além disso, se a SAN tiver SSDs envolvidos, as coisas ficam realmente complicadas.

sysadmin1138
fonte
15

É quase certamente devido ao cache. O DAS provável possui cache mínimo, onde a maioria das SANs corporativas possui vários gigabytes de cache. Eu acho que o aplicativo está saturando o cache do DAS, mas não o SAN.

Chris S
fonte
1
A latência óbvia na SAN está indo além do DAS, mas a taxa de transferência geral é maior na SAN com todo o cache. Boa resposta.
Matt
e, geralmente, há um cache de leitura antecipada, de modo que suas leituras / gravações aleatórias são as que mais sofrem e, em seguida, você pode armazenar gravações em cache, para que sejam apenas leituras aleatórias que são afetadas, embora ainda haja um atraso bastante pequeno.
Silverfire
1
Um Subsistema de Armazenamento configurado corretamente na SAN que não está sobrecarregado deve fornecer tempos de gravação aleatórios em torno de 1-2 ms.
MikeyB 9/09/11
@ MikeyB Eu não estou discordando de você. 1-2ms de gravação na SAN parece certo. Mas a configuração de SAN de Charles foi 100 vezes mais rápida que seus discos físicos sobrecarregados (as gravações foram> 2seg para este último). Então, mesmo o desempenho de SAN não é tão bom, em 20ms em vez de 1-2ms ...?
Ellie Kesselman
9

Conceitualmente, sempre parece que servir o disco da SAN deve ser mais lento do que servi-lo localmente. No entanto, existem muitos fatores que podem reverter isso e resultar na SAN sendo uma opção muito mais rápida. Alguns desses fatores são:

  • Sua carga de trabalho exige um tempo rápido de busca ou um rendimento rápido, ou ambos?
  • Quantos eixos-árvore no SAN LUN versus o disco local?
  • Qual velocidade de barramento entre o SAN LUN e o servidor, em comparação à interface de disco local?
  • Quanto cache de leitura / gravação está disponível no SAN LUN versus o disco local?
  • Em que velocidade os discos estão girando no SAN LUN versus o disco local?
  • Que outra atividade de E / S está ocorrendo no SAN LUN versus o disco local?
  • Qual nível de RAID são as matrizes na SAN e no armazenamento local?

Tudo isso afetará seu desempenho na SAN e no disco local.

Chris Thorpe
fonte
1

Tudo se resume a quantos eixos estão disponíveis ... Quanto maior o número de eixos, mais rápido é acessar qualquer dado. se você precisar de muito IO, principalmente se for um aplicativo de banco de dados, poderá facilmente enterrar o desempenho do disco local com uma solução SAN que pode ter um número muito maior de conjuntos de discos para o gerenciamento de dados principais, índices e outros.

Com o subsistema de disco local, é provável que você também compartilhe o acesso aos cabeçotes de leitura / gravação com outras operações, como r / w para troca, sistema operacional local e acesso a arquivos da biblioteca, acesso a aplicativos, etc ... Enquanto individualmente é rápido, o tempo coletivo para todas as ações de leitura / gravação, mover as cabeças de leitura / gravação de uma área do disco para abranger um conjunto de ações para outro, a fim de satisfazer os requisitos do aplicativo, certamente pode prejudicar o desempenho.

James Pulley
fonte