Benchmarking der Premium Storage P30-Festplatten von Azure

9

Wir führen Leistungstests auf zwei neuen Standard-DS13-VMs (8 Core, 56 GB) durch (beide verwenden das neueste / standardmäßige Windows 2012 R2-Image), die von Premium Storage unterstützt werden, und haben mit Schritt 1 beim Testen der lokalen SSD-Leistung eine Wand erreicht.

Wir wissen, dass 25% der 400 GB lokalen SSD für diese VMs als temporärer Speicher zur Verfügung gestellt werden und die anderen 75% für das Premium-Speicher-Caching verwendet werden: http://azure.microsoft.com/blog/2014/12/11/new- Premium-Storage-Backed-Virtual-Maschinen /

Für die verbleibenden 25% erwarten wir eine Leistung in dieser Richtung: http://www.brentozar.com/archive/2014/09/azure-really-60-faster/ http://azure.microsoft.com/blog / 2014/10/06 / d-Serie-Leistungserwartungen /

... aber Crystal Disk Mark zeigt, wie es kriecht :

               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)

Die Leistung der Betriebssystemfestplatte ist besser, liegt jedoch bei weitem nicht in der Nähe der 150 MB / s, die Sie für eine P20-Festplatte erwarten würden (vorausgesetzt, dies ist die Zuweisung für die Standard-127-GB-Betriebssystemfestplatte).

Erwarten:

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

Sehen:

           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)

Und die Leistung der P30- Festplatte (mit ReadOnly- Cache) ist nicht viel besser:

           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)

Im Vergleich zu unserem aktuellen CloudDrive mit Host-Caching auf D13s (beachten Sie die Leistung von 4-KB-Zufallslesevorgängen):

           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)

Und das meldet SQLIO für die lokale SSD:

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

Und für den 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

Die für das P30 beworbenen 5000 IOPS halten, aber was ist mit dem Durchsatz von 200 MB / s pro Festplatte?

ANMERKUNG: Versuche, die P30-Datendiskette mit der ReadWrite-Cache-Richtlinie zu erstellen, führen zu:

Update-AzureVm: BadRequest: Die Festplatten-Cache-Einstellung ReadWrite wird für DataVirtualHardDisk nicht unterstützt.

Jede Anleitung wäre dankbar:

  • Warum wird der lokale SSD-Speicher mit 500 IOPS und einem Durchsatz von 1 bis 4 MB / s gedrosselt?
  • Wie erreichen wir 200 MB / s bei Schreibvorgängen, wie wir bei Lesevorgängen bei P30s sehen? Was ist der auszuführende Test?
  • MS: Können Sie E / A-Benchmarks veröffentlichen, die wir ausführen können, um die maximalen Grenzwerte zu validieren?
Nariman
quelle
3
Dies ist eine Frage, die wirklich an den Azure-Support gesendet werden muss, da ich keine Möglichkeit kenne, die hier jemand mit etwas anderem als Anekdoten beantworten könnte.
Mark Henderson

Antworten:

7

So beantworten Sie Ihre Fragen:

  1. Der lokale Speicher wird auf 500 IOPS bei 8 KB gedrosselt. Diese Grenzwerte waren ein Fehler und werden in Kürze erheblich angehoben.
  2. Um beim Schreiben 200 MB / s zu erreichen, müssen Sie (a) eine Blockgröße von mindestens 40 KB verwenden (andernfalls stoßen Sie zuerst auf das Limit von 5.000 IOPS) und (b) eine Warteschlangentiefe von mindestens 25 (für 40 KB) verwenden Block, wenn die Blockgröße zunimmt, können Sie eine kleinere Warteschlangentiefe verwenden.
  3. Wir sind uns einig, es wäre schön, wenn wir Benchmarks veröffentlichen würden, mit denen Sie die Grenzwerte validieren können. Wenn wir dies tun, wird es wahrscheinlich nicht sein, bis wir die Vorschau verlassen.

David Berg - Microsoft Azure-Leistungsteam

David Berg - MSFT
quelle
Ich verwende 64-KB-Blöcke und erhalte nur 1.500 IOPS und 90 MB / s. Besprechen Sie ... P30
David Aleu
@DavidAleu Ich bekomme auch nur ungefähr 1500 IOPS auf P30-Festplatten.
Makhdumi
0

Der Premium-Speicher unterstützt nur den Lese-Cache und nicht das Lesen / Schreiben wie Standard-Festplatten

user271956
quelle
0

Ihr Durchsatz bei den SQLIO-Tests ist begrenzt, da Sie die Standard-E / A-Blockgröße von 2 KB verwenden. Nehmen Sie die IOPS auf der P30-Festplatte, die Sie gerade erhalten, und multiplizieren Sie sie mit der Blockgröße. Sie erhalten 5103 IOPS * 2 KB = 10206 KB / s oder 9,97 MB / s. Dies ist der in Ihren Tests gemeldete Durchsatz. Erhöhen Sie die Blockgröße in Ihrem SQLIO-Befehl (siehe http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ ), und Sie können das Durchsatzlimit ermitteln. Eine E / A-Blockgröße von 64 KB sollte 5103 IOPS * 64 KB = 326592 KB / s oder 318,94 MB / s ergeben und das von Microsoft angekündigte Limit testen.

Ich hatte die lokalen SSDs auf meinen VMs der D-Serie nicht getestet, habe aber noch keinen Zugriff auf Premium-Speicher, daher würde dies in diesem Fall nicht helfen. Ich vermute nur, dass wenn Sie Premium-Speicher auf dem Computer verwenden, der 75% der lokalen SSD-Kapazität belegt, möglicherweise auch Ihr lokaler SSD-Zugriff gedrosselt wird, um die Premium-Speicherleistung zu gewährleisten.

Phillip Jarre
quelle