Производительность дисков блочного хранения

В системе хранения данных на VK Cloud используются диски различных типов:

  • HDD;
  • SSD;
  • High-IOPS SSD;
  • High-IOPS HA SSD;
  • Low Latency NVMe.

Подробнее — в разделе о дисках блочного хранения в VK Cloud.

Для каждого типа диска гарантируются определенные характеристики производительности. Квоты и лимиты на количество и размер дисков приведены в статье Квоты и лимиты.

Тип диска
(название в API)

Чтение, IOPS
мин.—макс.

Чтение,
IOPS/ГБ

Запись, IOPS
мин.—макс.

Запись,
IOPS/ГБ

Задержка, мс
макс.

Сетевой HDD-диск
(ceph-hdd)

300–2400

1

150–800

1

20

Сетевой SSD-диск
(ceph-ssd)

1000–16000

30

500–8000

15

3

High-IOPS SSD
(high-iops)

10000–45000

30

5000–30000

25

1

High-IOPS HA SSD
(high-iops-ha)

7500–35000

25

2000–12000

15

1

Low Latency NVMe
(ef-nvme)

10000–75000

75

5000–50000

35

0,5

Сетевой HDD-диск

Ниже даны подробные характеристики производительности для сетевых HDD-дисков разного объема.

Размер, ГБ

Чтение, IOPS
bs=4k,
iodepth=32

Чтение, МБ/с
bs=1M,
iodepth=16

Запись, IOPS
bs=4k,
iodepth=32

Запись, МБ/с
bs=1M,
iodepth=16

10

300

38

150

19

50

300

38

150

19

100

300

38

150

19

250

300

38

250

31

500

500

63

500

63

1000

1000

125

800

100

1500

1500

188

800

100

2000

2000

250

800

100

Здесь bs и iodepth — параметры тестирования производительности.

Сетевой SSD-диск

Ниже даны подробные характеристики производительности для сетевых SDD-дисков разного объема.

Размер, ГБ

Чтение, IOPS
bs=4k,
iodepth=32

Чтение, МБ/с
bs=1M,
iodepth=16

Запись, IOPS
bs=4k,
iodepth=32

Запись, МБ/с
bs=1M,
iodepth=16 |

10

1000

125

500

63

50

1500

188

750

94

100

3000

375

1500

188

250

7500

400

3750

400

500

15000

400

7500

400

1000

16000

400

8000

400

1500

16000

400

8000

400

2000

16000

400

8000

400

Здесь bs и iodepth — параметры тестирования производительности.

High-IOPS SSD

Ниже даны подробные характеристики производительности для сетевых дисков High-IOPS SSD разного объема.

Размер, ГБ

Чтение, IOPS
bs=4k,
iodepth=32

Чтение, МБ/с
bs=1M,
iodepth=16

Запись, IOPS
bs=4k,
iodepth=32

Запись, МБ/с
bs=1M,
iodepth=16

10

10000

500

5000

500

50

10000

500

5000

500

100

10000

500

5000

500

250

10000

500

6250

500

500

15000

500

12500

500

1000

30000

500

25000

500

1500

45000

500

30000

500

2000

45000

500

30000

500

Здесь bs и iodepth — параметры тестирования производительности.

High-IOPS HA SSD

Ниже даны подробные характеристики производительности для сетевых дисков High-IOPS HA SSD разного объема.

Размер, ГБ

Чтение, IOPS
bs=4k,
iodepth=32

Чтение, МБ/с
bs=1M,
iodepth=16

Запись, IOPS
bs=4k,
iodepth=32

Запись, МБ/с
bs=1M,
iodepth=16

10

7500

375

2000

250

50

7500

375

2000

250

100

7500

375

2000

250

250

7500

375

3750

300

500

12500

375

7500

300

1000

25000

375

12000

300

1500

35000

375

12000

300

2000

35000

375

12000

300

Здесь bs и iodepth — параметры тестирования производительности.

Low Latency NVMe

Ниже даны подробные характеристики производительности для локальных дисков Low Latency NVMe разного объема.

Размер, ГБ

Чтение, IOPS
bs=4k,
iodepth=32

Чтение, МБ/с
bs=1M,
iodepth=16

Запись, IOPS
bs=4k,
iodepth=32

Запись, МБ/с
bs=1M,
iodepth=16

10

10000

500

5000

500

50

10000

500

5000

500

100

10000

500

5000

500

250

18750

586

8750

500

500

37500

1172

17500

547

1000

75000

1200

35000

900

1500

75000

1200

50000

900

2000

75000

1200

50000

900

Здесь bs и iodepth — параметры тестирования производительности.

Тестирование производительности дисков

  1. Перед тестированием убедитесь, что выполняются условия:

    • диск является незагрузочным;
    • отсутствует нагрузка на диск со стороны операционной системы.

    При выполнении этих условий результаты измерений IOPS должны соответствовать следующим значениям:

    Тип тестирования

    Результат, IOPS

    Чтение и запись блоками по 4 КБ в 32 потока

    Соответствует SLA

    Чтение и запись блоками по 8 КБ в 32 потока

    Не менее 75% от SLA

    Чтение и запись блоками по 16 КБ в 32 потока

    Не менее 50% от SLA

  2. Протестируйте диск.

    Чтобы измерить IOPS при чтении и записи, используйте утилиты DiskSpd или FIO.

    DiskSpd

    1. Запустите командную строку от имени администратора.

    2. Создайте директорию temp и пустой файл размером не менее 10 ГБ:

      md C:\tempfsutil file createnew C:\temp\test.bin 10485760000
    3. Загрузите утилиту и распакуйте в нужную директорию.

    4. Перейдите в директорию amd64 распакованной утилиты.

    5. Выполните команду diskspd с параметрами, соответствующими типу теста:

      • -w — процент операций записи, -w0 для теста чтения, -w100 для теста записи;
      • -b — размер блока в байтах.

      Подробное описание всех параметров команды diskspd — в официальной документации.

      • Тест случайной записи блоками по 4 КБ:

        diskspd -Suw -b4K -o1 -t32 -r -w100 C:\temp\test.bin > C:\temp\random_write_results.txt
      • Тест случайного чтения блоками по 4 КБ:

        diskspd -Suw -b4K -o1 -t32 -r -w0 C:\temp\test.bin > C:\temp\random_read_results.txt

    FIO

    1. Скачайте и установите FIO.

    2. Выполните команду fio с параметрами, соответствующими типу теста:

      • --rwrandread или randwrite.
      • --bs — размер блока.
      • --filename — имя тестового файла.
      • --rate_iops — целевое значение IOPS (опционально). Используйте этот параметр, чтобы при тестировании целевого значения IOPS получить более точную величину задержки (latency).

      Подробное описание всех параметров команды — в документации FIO.

      • Тест случайной записи блоками по 4 КБ:

        fio `   --name=randwrite `   --iodepth=32 `   --rw=randwrite `   --bs=4k `   --direct=1 `   --size=10G `   --numjobs=1 `   --runtime=240 `   --group_reporting `   --filename=C:\Users\ADMIN\test
      • Тест случайного чтения блоками по 4 КБ:

        fio `   --name=randread `   --iodepth=32 `   --rw=randread `   --bs=4k `   --direct=1 `   --size=10G `   --numjobs=1 `   --runtime=240 `   --group_reporting `   --filename=C:\Users\ADMIN\test
  3. Если при выполнении всех условий результаты теста не соответствуют указанным значениям, обратитесь в техническую поддержку.

  4. После завершения тестирования и обработки результатов удалите тестовые файлы большого размера, чтобы освободить место на диске. Квоты и лимиты на использование ресурсов VK Cloud приведены в статье Квоты и лимиты.