Comparação de discos Premium Storage P30 do Azure

9

Estamos executando testes de desempenho em duas novas VMs DS13 padrão (8 núcleos, 56 GB) (ambas usando a imagem mais recente / padrão do Windows 2012 R2) suportada pelo Premium Storage e atingimos um limite com a etapa 1 em testar o desempenho do SSD local.

Entendemos que 25% do SSD local de 400 GB para essas VMs é disponibilizado como armazenamento temporário e os outros 75% são usados ​​para o armazenamento em cache Premium: http://azure.microsoft.com/blog/2014/12/11/new- máquinas virtuais de backup premium de armazenamento /

Nos 25% restantes, esperamos obter desempenho nesse sentido: http://www.brentozar.com/archive/2014/09/azure-really-60-faster/ http://azure.microsoft.com/blog / 2014/10/06 / expectativas de desempenho da série d /

... mas o Crystal Disk Mark mostra o rastreamento :

               Sequential Read :     4.097 MB/s
              Sequential Write :     4.096 MB/s
             Random Read 512KB :     4.112 MB/s
            Random Write 512KB :     4.112 MB/s
        Random Read 4KB (QD=1) :     2.057 MB/s [   502.3 IOPS]
       Random Write 4KB (QD=1) :     2.057 MB/s [   502.2 IOPS]
       Random Read 4KB (QD=32) :     2.048 MB/s [   500.0 IOPS]
      Random Write 4KB (QD=32) :     2.047 MB/s [   499.7 IOPS]

  Test : 50 MB [D: 7.2% (8.1/112.0 GB)] (x5)
  Date : 2015/02/14 15:35:41
    OS : Windows Server 2012 R2 Datacenter (Full installation) [6.3 Build 9600] (x64)

O desempenho do disco do sistema operacional é melhor, mas nem de perto os 150 MB / s esperados para um disco P20 (supondo que seja o que está alocado para o disco do sistema operacional padrão de 127 GB).

Esperando:

http://azure.microsoft.com/en-us/documentation/articles/storage-premium-storage-preview-portal/

Vendo:

           Sequential Read :    66.031 MB/s
          Sequential Write :    63.034 MB/s
         Random Read 512KB :    65.861 MB/s
        Random Write 512KB :    63.580 MB/s
    Random Read 4KB (QD=1) :     2.097 MB/s [   511.9 IOPS]
   Random Write 4KB (QD=1) :     2.047 MB/s [   499.7 IOPS]
   Random Read 4KB (QD=32) :     2.086 MB/s [   509.3 IOPS]
  Random Write 4KB (QD=32) :     2.078 MB/s [   507.4 IOPS]

  Test : 50 MB [C: 12.9% (16.4/127.0 GB)] (x5)
  Date : 2015/02/14 15:46:35
    OS : Windows Server 2012 R2 Datacenter (Full installation) [6.3 Build 9600] (x64)

E o desempenho do disco P30 (com cache ReadOnly ) não é muito melhor:

           Sequential Read :   204.567 MB/s
          Sequential Write :    39.677 MB/s
         Random Read 512KB :   204.549 MB/s
        Random Write 512KB :    34.865 MB/s
    Random Read 4KB (QD=1) :    20.951 MB/s [  5114.9 IOPS]
   Random Write 4KB (QD=1) :     1.666 MB/s [   406.7 IOPS]
   Random Read 4KB (QD=32) :    20.893 MB/s [  5100.9 IOPS]
  Random Write 4KB (QD=32) :    20.944 MB/s [  5113.4 IOPS]

  Test : 50 MB [E: 0.0% (0.2/1023.0 GB)] (x5)
  Date : 2015/02/14 15:22:59
    OS : Windows Server 2012 R2 Datacenter (Full installation) [6.3 Build 9600] (x64)

Quando comparado ao nosso CloudDrive atual com o cache do host implantado no D13s (observe o desempenho das leituras aleatórias de 4KB):

           Sequential Read :   136.711 MB/s
          Sequential Write :    10.210 MB/s
         Random Read 512KB :   190.744 MB/s
        Random Write 512KB :     9.063 MB/s
    Random Read 4KB (QD=1) :    10.813 MB/s [  2639.8 IOPS]
   Random Write 4KB (QD=1) :     0.508 MB/s [   107.5 IOPS]
   Random Read 4KB (QD=32) :   106.533 MB/s [ 26009.1 IOPS]
  Random Write 4KB (QD=32) :     9.363 MB/s [  2286.0 IOPS]

  Test : 50 MB [F: 4.1% (24.9/600.0 GB)] (x5)
  Date : 2015/02/14 20:25:01
  OS : Windows Server 2012 Datacenter (Full installation) [6.2 Build 9200] (x64)

E é isso que o SQLIO relata para o SSD local:

C:\Program Files (x86)\SQLIO>sqlio -dD
sqlio v1.5.SG
1 thread reading for 30 secs from file D:testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
size of file D:testfile.dat needs to be: 8388608 bytes
current file size:      0 bytes
need to expand by:      8388608 bytes
expanding D:testfile.dat ... done.
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:   499.38
MBs/sec:     0.97

E para o P30:

C:\Program Files (x86)\SQLIO>sqlio -dE
sqlio v1.5.SG
1 thread reading for 30 secs from file E:testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
size of file E:testfile.dat needs to be: 8388608 bytes
current file size:      0 bytes
need to expand by:      8388608 bytes
expanding E:testfile.dat ... done.
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  5103.03
MBs/sec:     9.96

Os 5000 IOPS anunciados para o P30 estão se mantendo, mas e quanto à taxa de transferência de 200 MB / s por disco?

NOTA: As tentativas de criar o disco de dados P30 com a política de cache ReadWrite resultam em:

Update-AzureVm: BadRequest: a configuração de cache de disco ReadWrite não é suportada pelo DataVirtualHardDisk.

Qualquer orientação seria apreciada:

  • Por que o armazenamento SSD local é acelerado em 500 IOPS e taxa de transferência de 1 a 4 MB / s?
  • Como atingimos 200 MB / s em gravações, como vemos nas leituras dos P30s, qual é o teste a ser executado?
  • MS: você pode publicar benchmarks de E / S que podemos executar para validar limites máximos?
Nariman
fonte
3
Esta é uma pergunta que realmente precisa ser enviada ao suporte do Azure, pois não sei de que maneira alguém aqui poderia responder com alguma coisa, exceto histórias.
Mark Henderson

Respostas:

7

Para responder suas perguntas:

  1. O armazenamento local é regulado para 500 IOPS a 8 KB. Esses limites foram um erro e serão aumentados substancialmente em breve.
  2. Para atingir 200 MB / s nas gravações, é necessário (a) usar um tamanho de bloco de pelo menos 40 KB (caso contrário, você terá o limite de 5.000 IOPS primeiro) e (b) usar uma profundidade de fila de pelo menos 25 (para 40 KB) bloco, conforme o tamanho do bloco aumenta, é possível usar uma profundidade menor da fila).
  3. Concordamos que seria bom se publicássemos benchmarks que você possa usar para validar os limites. Se o fizermos, provavelmente não será até sairmos da visualização.

David Berg - Equipe de desempenho do Microsoft Azure

David Berg - MSFT
fonte
Eu estou usando blocos de 64KB e eu só obter 1.500 IOPS e 90 MB / s, discutir ... P30
David Aleu
@DavidAleu Também recebo apenas 1500 IOPS em discos P30.
Makhdumi
0

O armazenamento premium suporta apenas cache de leitura e não leitura / gravação como discos padrão

user271956
fonte
0

Sua taxa de transferência nos testes SQLIO é limitada porque você está usando o tamanho de bloco de 2 KB IO padrão. Pegue o IOPS no disco P30 que você está obtendo e multiplique pelo tamanho do bloco e você obtém 5103 IOPS * 2 KB = 10206 KB / s ou 9,97 MB / s, que é a taxa de transferência relatada em seus testes. Aumente o tamanho do bloco no seu comando SQLIO (consulte http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ ) e você poderá encontrar o limite de taxa de transferência. Um tamanho de bloco de E / S de 64 KB deve fornecer 5103 IOPS * 64 KB = 326592 KB / s ou 318,94 MB / s e testar o limite anunciado da Microsoft.

Eu não havia testado os SSDs locais nas minhas VMs da série D, mas ainda não tenho acesso ao armazenamento premium, portanto não ajudaria nesse caso. Meu único palpite é que, quando você estiver usando armazenamento premium na máquina que usa 75% da capacidade do SSD local, ele também poderá limitar o acesso ao SSD local para garantir o desempenho do armazenamento premium.

Phillip Jarre
fonte