Тестирование дисков Azure Premium Storage P30

9

Мы проводим тесты производительности на двух новых стандартных виртуальных машинах DS13 (8 ядер, 56 ГБ) (обе используют последний / стандартный образ Windows 2012 R2), поддерживаемых Premium Storage, и с первого шага протестировали производительность локальных твердотельных накопителей.

Мы понимаем, что 25% локальных SSD объемом 400 ГБ для этих виртуальных машин предоставляется в качестве временного хранилища, а остальные 75% используются для кэширования Premium Storage: http://azure.microsoft.com/blog/2014/12/11/new- премиум-хранение ценного-виртуальные машины /

На оставшихся 25% мы ожидаем увидеть производительность в этом направлении: http://www.brentozar.com/archive/2014/09/azure-really-60-faster/ http://azure.microsoft.com/blog / 2014/10/06 / серия D-производительность ожидания /

... но Crystal Disk Mark показывает, что он ползет по:

               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)

Производительность диска ОС выше, но она не приближается к 150 МБ / с, которые можно ожидать для диска P20 (при условии, что это то, что выделено для диска ОС по умолчанию на 127 ГБ).

Ожидая:

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

Наблюдение:

           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)

И производительность диска P30 (с кэшем ReadOnly ) не намного лучше:

           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)

По сравнению с нашим текущим CloudDrive с кэшированием хоста, развернутым на D13 (обратите внимание на производительность случайного чтения 4 КБ):

           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)

И вот что сообщает SQLIO для локального 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

А для 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, объявленных для P30, держатся, но как насчет пропускной способности 200 МБ / с на диск?

ПРИМЕЧАНИЕ. Попытки создать диск данных P30 с политикой кэширования ReadWrite приводят к:

Update-AzureVm: BadRequest: параметр чтения кеша диска не поддерживается для DataVirtualHardDisk.

Любое руководство будет оценено:

  • Почему локальное хранилище SSD регулируется при 500 IOPS и пропускной способности 1-4 МБ / с?
  • Как мы достигаем 200 МБ / с при записи, как мы видим при чтении на P30, какой тест выполнить?
  • MS: можете ли вы опубликовать тесты ввода / вывода, которые мы можем использовать для проверки максимальных пределов?
Нариман
источник
3
Это вопрос, который действительно нужно отправить в службу поддержки Azure, так как я не знаю ни одного способа, чтобы кто-нибудь здесь мог ответить с чем-либо, кроме анекдотов.
Марк Хендерсон

Ответы:

7

Чтобы ответить на ваши вопросы:

  1. Локальное хранилище сокращено до 500 IOPS при 8 КБ. Эти ограничения были ошибкой и скоро будут повышены.
  2. Чтобы набрать 200 МБ / с при записи, вам необходимо (а) использовать размер блока не менее 40 КБ (в противном случае вы сначала достигнете предела в 5000 IOPS) и (б) использовать глубину очереди не менее 25 (для 40 КБ) блок, так как размер блока увеличивается, вы можете использовать меньшую глубину очереди).
  3. Мы согласны, было бы неплохо, если бы мы опубликовали тесты, которые вы можете использовать для проверки ограничений. Если мы это сделаем, то, вероятно, не будет, пока мы не выйдем из предварительного просмотра.

Дэвид Берг - рабочая группа Microsoft Azure

Дэвид Берг - MSFT
источник
Я использую блоки по 64 КБ и получаю только 1500 IOPS и 90 МБ / с, обсудим ... P30
Дэвид Алеу
@DavidAleu Я также получаю только около 1500 IOPS на дисках P30.
Махдуми
0

Хранилище премиум-класса поддерживает только чтение кеша, а не чтение / запись, как на стандартных дисках

user271956
источник
0

Ваша пропускная способность в тестах SQLIO ограничена, потому что вы используете размер блока ввода-вывода 2 КБ по умолчанию. Возьмите IOPS на диске P30, который вы в настоящее время получаете, и умножьте его на размер блока, и вы получите 5103 IOPS * 2 КБ = 10206 КБ / с или 9,97 МБ / с, что является заявленной пропускной способностью в ваших тестах. Увеличьте размер блока в своей команде SQLIO (см. Http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ ), и вы сможете найти предел пропускной способности. Размер блока ввода-вывода 64 КБ должен дать вам 5103 IOPS * 64 КБ = 326592 КБ / с или 318,94 МБ / с и протестировать объявленный Microsoft предел.

Я не тестировал локальные твердотельные накопители на своих виртуальных машинах серии D, но у меня пока нет доступа к хранилищам премиум-класса, поэтому в этом случае это не поможет. Я могу только предположить, что если вы используете хранилище класса «премиум» на машине, которая использует 75% емкости локального SSD, это может также ограничить доступ к локальному SSD, чтобы гарантировать производительность премиум-уровня.

Филипп Жарр
источник