Evaluación comparativa de los discos P30 de almacenamiento premium de Azure


9

Estamos ejecutando pruebas de rendimiento en dos nuevas máquinas virtuales DS13 estándar (8 núcleos, 56 GB) (ambas con la imagen de Windows 2012 R2 más reciente / predeterminada) respaldadas por Premium Storage y han topado con el paso 1 al probar el rendimiento de SSD local.

Entendemos que el 25% de la SSD local de 400 GB para estas máquinas virtuales está disponible como almacenamiento temporal y el otro 75% se utiliza para el almacenamiento en caché de almacenamiento premium: http://azure.microsoft.com/blog/2014/12/11/new- máquinas virtuales con respaldo de almacenamiento premium /

En el 25% restante, esperamos ver el rendimiento en estas líneas: http://www.brentozar.com/archive/2014/09/azure-really-60-faster/ http://azure.microsoft.com/blog / 2014/10/06 / serie-d-expectativas-desempeño /

... pero Crystal Disk Mark lo muestra arrastrándose :

               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)

El rendimiento del disco del sistema operativo es mejor, pero no se acerca a los 150 MB / s que esperaría para un disco P20 (suponiendo que eso es lo que está asignado para el disco predeterminado del sistema operativo de 127 GB).

Esperando:

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

Viendo:

           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)

Y el rendimiento del disco P30 (con caché ReadOnly ) no es mucho mejor:

           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)

En comparación con nuestro CloudDrive actual con almacenamiento en caché de host implementado en D13 (tenga en cuenta el rendimiento de las lecturas aleatorias 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)

Y esto es lo que informa SQLIO para el 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

Y para el 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

El 5000 IOPS anunciado para el P30 se mantiene, pero ¿qué pasa con el rendimiento de 200 MB / s por disco?

NOTA: Los intentos de crear el disco de datos P30 con la política de caché ReadWrite dan como resultado:

Update-AzureVm: BadRequest: la configuración de caché de disco ReadWrite no es compatible con DataVirtualHardDisk.

Cualquier orientación sería apreciada:

  • ¿Por qué el almacenamiento SSD local se limita a 500 IOPS y un rendimiento de 1-4 MB / s?
  • ¿Cómo logramos 200MB / s en escrituras como vemos con lecturas en P30s, cuál es la prueba para ejecutar?
  • MS: ¿puede publicar puntos de referencia de E / S que podamos ejecutar para validar los límites máximos?

3
Esta es una pregunta que realmente debe enviarse al soporte de Azure, ya que no sé de ninguna manera que alguien aquí pueda responder con cualquier cosa, excepto anécdotas.
Mark Henderson

Respuestas:


7

Para responder tu pregunta:

  1. El almacenamiento local se limita a 500 IOPS a 8 KB. Esos límites fueron un error y se aumentarán sustancialmente pronto.
  2. Para alcanzar 200 MB / seg en escrituras, debe (a) usar un tamaño de bloque de al menos 40 KB (de lo contrario, primero se encontrará con el límite de 5,000 IOPS) y (b) usar una profundidad de cola de al menos 25 (para un 40 KB bloque, a medida que aumenta el tamaño del bloque, puede usar una profundidad de cola más pequeña).
  3. Estamos de acuerdo, sería bueno que publiquemos puntos de referencia que pueda usar para validar los límites. Si lo hacemos, probablemente no lo será hasta que salgamos de la vista previa.

David Berg - Equipo de rendimiento de Microsoft Azure


Estoy usando bloques de 64 KB y solo obtengo 1,500 IOPS y 90 MB / seg, discuta ... P30
David Aleu

@DavidAleu También solo obtengo alrededor de 1500 IOPS en discos P30.
makhdumi

0

El almacenamiento premium solo admite caché de lectura y no lectura / escritura como discos estándar


0

Su rendimiento en las pruebas de SQLIO es limitado porque está utilizando el tamaño de bloque IO predeterminado de 2 KB. Tome el IOPS en el disco P30 que está obteniendo actualmente y multiplíquelo por el tamaño del bloque y obtendrá 5103 IOPS * 2 KB = 10206 KB / so 9.97 MB / s, que es el rendimiento informado en sus pruebas. Aumente el tamaño del bloque en su comando SQLIO (consulte http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ ) y podrá encontrar el límite de rendimiento. Un tamaño de bloque IO de 64 KB debería proporcionarle 5103 IOPS * 64 KB = 326592 KB / so 318.94 MB / sy probar el límite anunciado de Microsoft.

No había probado los SSD locales en mis máquinas virtuales de la serie D, pero todavía no tengo acceso al almacenamiento premium, por lo que no ayudaría en este caso. Mi única suposición es que una vez que esté utilizando el almacenamiento premium en la máquina que está utilizando el 75% de la capacidad de SSD local, también podría estar acelerando su acceso SSD local para garantizar el rendimiento de almacenamiento premium.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.