Сравнительное тестирование Azure Premium устройство хранения данных диски P30

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

Мы понимаем, что 25% локального SSD на 400 ГБ для этих VMs сделаны доступными, поскольку временное хранение и другие 75% используется для Premium кэширования устройства хранения данных: http://azure.microsoft.com/blog/2014/12/11/new-premium-storage-backed-virtual-machines/

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

... но 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 с кэшированием хоста, развернутым на D13s (отмечают производительность 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 приводят к:

Обновление-AzureVm: BadRequest: установка ReadWrite дискового кэша не поддерживается для DataVirtualHardDisk.

Любое руководство ценилось бы:

  • Почему локальное устройство хранения данных SSD регулируют в 500 IOPS и пропускной способности на 1-4 МБ/с?
  • Как мы достигаем 200MB/s на записях, как мы видим с чтениями на P30s, что должен выполнить тест?
  • MS: можно ли опубликовать сравнительные тесты ввода-вывода, которые мы можем выполнить для проверки макс. пределов?
9
задан 15 February 2015 в 18:40
3 ответа

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

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

Дэвид Берг, группа по производительности Microsoft Azure

7
ответ дан 2 December 2019 в 22:34

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

0
ответ дан 2 December 2019 в 22:34

Пропускная способность тестов SQLIO ограничена, поскольку вы используете размер блока ввода-вывода по умолчанию 2 КБ. Возьмите количество операций ввода-вывода в секунду на диске P30, которое вы в настоящее время получаете, и умножьте на размер блока, и вы получите 5103 операций ввода-вывода в секунду * 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.

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

0
ответ дан 2 December 2019 в 22:34

Теги

Похожие вопросы