Benchmarking Premium Storage P30 Disk Azure

9

Kami sedang menjalankan tes kinerja pada dua VM Standard DS13 (8 Core, 56 GB) baru (keduanya menggunakan gambar Windows 2012 R2 terbaru / default) yang didukung oleh Premium Storage dan telah membentur dinding dengan langkah 1 dalam menguji kinerja SSD lokal.

Kami memahami 25% dari 400GB SSD lokal untuk VM ini tersedia sebagai penyimpanan sementara dan 75% lainnya digunakan untuk caching Penyimpanan Premium: http://azure.microsoft.com/blog/2014/12/11/new- mesin virtual yang didukung penyimpanan premium /

Pada 25% sisanya, kami berharap untuk melihat kinerja di sepanjang baris ini: http://www.brentozar.com/archive/2014/09/azure-really-60-faster/ http://azure.microsoft.com/blog / 2014/10/06 / d-series-performance-expectations /

... tapi Crystal Disk Mark menunjukkannya merangkak di sepanjang:

               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)

Performa disk OS lebih baik tetapi tidak mendekati 150 MB / s yang Anda harapkan untuk disk P20 (dengan asumsi itulah yang dialokasikan untuk disk OS 127GB default).

Mengharapkan:

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

Melihat:

           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)

Dan kinerja disk P30 (dengan cache ReadOnly ) tidak jauh lebih baik:

           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)

Jika dibandingkan dengan CloudDrive kami saat ini dengan caching host yang digunakan pada D13s (perhatikan kinerja pembacaan acak 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)

Dan inilah yang dilaporkan SQLIO untuk SSD lokal:

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

Dan untuk 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

5000 IOPS yang diiklankan untuk P30 bertahan tetapi bagaimana dengan throughput 200 MB / s per disk?

CATATAN: Upaya untuk membuat disk data P30 dengan kebijakan cache ReadWrite menghasilkan:

Pembaruan-AzureVm: BadRequest: Pengaturan cache disk ReadWrite tidak didukung untuk DataVirtualHardDisk.

Bimbingan apa pun akan dihargai:

  • Mengapa penyimpanan SSD lokal dibatasi pada 500 IOPS dan 1-4 MB / s throughput?
  • Bagaimana kita mencapai 200MB / s di tulis seperti yang kita lihat dengan membaca di P30, apa ujian yang harus dijalankan?
  • MS: dapatkah Anda menerbitkan tolok ukur I / O yang dapat kami jalankan untuk memvalidasi batas maks?
Nariman
sumber
3
Ini adalah pertanyaan yang benar-benar perlu dikirim ke dukungan Azure, karena saya tidak tahu cara apa pun yang dapat dijawab oleh siapa pun di sini kecuali dengan anekdot.
Mark Henderson

Jawaban:

7

Untuk menjawab pertanyaan Anda:

  1. Penyimpanan lokal dibatasi hingga 500 IOPS @ 8KB. Batas-batas itu adalah kesalahan dan akan segera dinaikkan.
  2. Untuk mencapai 200 MB / detik pada menulis Anda perlu (a) menggunakan ukuran blok setidaknya 40KB (jika tidak Anda menjalankan batas 5.000 IOPS pertama), dan (b) menggunakan kedalaman antrian minimal 25 (untuk 40KB blok, saat ukuran blok naik, Anda dapat menggunakan kedalaman antrian yang lebih kecil).
  3. Kami setuju, alangkah baiknya jika kami menerbitkan tolok ukur yang dapat Anda gunakan untuk memvalidasi batas. Jika ya, mungkin tidak akan sampai kami keluar dari pratinjau.

David Berg - Tim Kinerja Microsoft Azure

David Berg - MSFT
sumber
Saya menggunakan blok 64KB dan saya hanya mendapatkan 1.500 IOPS dan 90 MB / detik, diskusikan ... P30
David Aleu
@ DavidAleu Saya juga hanya mendapatkan sekitar 1500 IOPS pada disk P30.
makhdumi
0

Penyimpanan premium hanya mendukung cache baca dan tidak membaca / menulis seperti disk standar

pengguna271956
sumber
0

Throughput Anda pada tes SQLIO terbatas karena Anda menggunakan ukuran blok IO 2KB default. Ambil IOPS pada disk P30 yang saat ini Anda dapatkan dan dikalikan dengan ukuran blok dan Anda mendapatkan 5103 IOPS * 2 KB = 10206 KB / s atau 9,97 MB / s yang merupakan throughput yang dilaporkan dalam pengujian Anda. Tingkatkan ukuran blok dalam perintah SQLIO Anda (lihat http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ ) dan Anda akan dapat menemukan batas throughput. Ukuran blok IO 64 KB akan memberi Anda 5103 IOPS * 64 KB = 326592 KB / s atau 318,94 MB / s dan menguji batas yang diiklankan Microsoft.

Saya belum menguji SSD lokal pada VM seri D saya, tetapi saya belum memiliki akses ke penyimpanan premium sehingga tidak akan membantu dalam kasus ini. Satu-satunya tebakan saya adalah bahwa sekali Anda menggunakan penyimpanan premium pada mesin yang menggunakan 75% dari kapasitas SSD lokal, itu mungkin juga akan membatasi akses SSD lokal Anda untuk menjamin kinerja penyimpanan premium.

Phillip Jarre
sumber