Типы дисков и SLA
Понятие "Диск" на платформе MCS является аналогом физического носителя информации, такого как HDD или SSD.
Диск - это сетевое блочное устройство, которые обеспечивает хранилище данных для инстансов. Все диски на Платформе MCS являются сетевыми и надежно защищены репликацией данных, обеспечивающими надежность хранения и отказоустойчивость.
Преимущества сетевых дисков:
Гибкость: диски - это независимые ресурсы, поэтому их можно перемещать между инстансами в одном центре обработки данных, и можно увеличивать размер диска, не выключая инстанс, к которому он подключен.
Простота: диски функционируют как универсальные блочные устройства, поэтому можно рассматривать присоединенные диски как локально подключенные накопители. Это позволяет разбивать, форматировать диски и управлять ими с помощью знакомых инструментов и методов.
Применение: диск является независимым элементом проекта и может существовать отдельно от инстанса. Это удобно, когда требуется изменить размер диска вне зависимости от конфигурации виртуальной машины.
Отказоустойчивость: диски обеспечивают надежное хранение данных и позволяют непрерывно выполнять операции чтения и записи даже при выходе из строя одновременно нескольких физических дисков
Типы дисков
Сетевые диски различаются по типу и месту размещения:
Размещение | Тип | Описание |
ms1 | HDD | Базовый диск, размещающийся в датацентре DataLine NORD4 |
dp1 | HDD | Базовый диск, размещающийся в датацентре DataPro |
ceph | HDD | Базовый диск, данные которого реплицируются между доступными датацентрами |
ssd | SSD | Стандартный диск, данные которого реплицируются между доступными датацентрами |
dp1-ssd | SSD | Стандартный диск, размещающийся в датацентре DataPro |
ko1-ssd | SSD | Стандартный диск, размещающийся в датацентре DataLine NORD4 |
dp1-high-iops | High-IOPS SSD | Быстрый диск, размещающийся в датацентре DataPro |
ko1-high-iops | High-IOPS SSD | Быстрый диск, размещающийся в датацентре DataLine NORD4 |
Low Latency NVME | LL NVME | Сверх быстрый диск, с минимальными задержками (до 0,5ms), доступные только на высокочастотных конфигурациях ВМ по запросу в техническую поддержку. |
SLA
Для каждого типа дисков существует ограничение по производительности, необходимое для гарантирования стабильности работы диска вне зависимости от его типа или объема.
Тип диска | min IOPS read | min IOPS write | IOPS/GB read | IOPS/GB write | max IOPS read | max IOPS write | Latency SLA |
HDD ceph (типы дисков ceph, ms1, dp1) | 300 | 150 | 1 | 1 | 2 400 | 800 | |
SSD ceph (типы дисков ssd, dp1-ssd, ko1-ssd) | 1 000 | 500 | 30 | 15 | 16 000 | 8 000 | |
SSD High IOPS | 10 000 | 5 000 | 30 | 25 | 45 000 | 30 000 | |
Low Latency NVME | 10 000 | 5 000 | 70 | 35 | 75 000 | 50 000 | 0,5 |
* полные характеристики приведены ниже в отдельных таблицах для каждого типа дисков.
HDD
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | MB/s | IOPS | MB/s | |||
10 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | 9 | 64K | 5 | |||
1M | 38 | 1M | 19 | |||
50 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | 9 | 64K | 5 | |||
1M | 38 | 1M | 19 | |||
100 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | 9 | 64K | 5 | |||
1M | 38 | 1M | 19 | |||
250 | 4K | 300 | 1 | 4K | 250 | 1 |
64K | 9 | 64K | 8 | |||
1M | 38 | 1M | 31 | |||
500 | 4K | 500 | 2 | 4K | 500 | 2 |
64K | 16 | 64K | 16 | |||
1M | 63 | 1M | 63 | |||
1000 | 4K | 1000 | 4 | 4K | 800 | 3 |
64K | 31 | 64K | 25 | |||
1M | 125 | 1M | 100 | |||
1500 | 4K | 1500 | 6 | 4K | 800 | 3 |
64K | 47 | 64K | 25 | |||
1M | 188 | 1M | 100 | |||
2000 | 4K | 2000 | 8 | 4K | 800 | 3 |
64K | 63 | 64K | 25 | |||
1M | 250 | 1M | 100 |
SSD
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | MB/s | IOPS | MB/s | |||
10 | 4K | 1000 | 4 | 4K | 500 | 2 |
64K | 31 | 64K | 16 | |||
1M | 125 | 1M | 63 | |||
50 | 4K | 1500 | 6 | 4K | 750 | 3 |
64K | 47 | 64K | 23 | |||
1M | 188 | 1M | 94 | |||
100 | 4K | 3000 | 12 | 4K | 1500 | 6 |
64K | 94 | 64K | 47 | |||
1M | 375 | 1M | 188 | |||
250 | 4K | 7500 | 29 | 4K | 3750 | 15 |
64K | 234 | 64K | 117 | |||
1M | 400 | 1M | 400 | |||
500 | 4K | 15000 | 59 | 4K | 7500 | 29 |
64K | 400 | 64K | 234 | |||
1M | 400 | 1M | 400 | |||
1000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
1500 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
2000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 |
High-IOPS SSD
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | MB/s | IOPS | MB/s | |||
10 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
50 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
100 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
250 | 4K | 10000 | 39 | 4K | 6250 | 24 |
64K | 313 | 64K | 195 | |||
1M | 500 | 1M | 500 | |||
500 | 4K | 15000 | 59 | 4K | 12500 | 49 |
64K | 469 | 64K | 391 | |||
1M | 500 | 1M | 500 | |||
1000 | 4K | 30000 | 117 | 4K | 25000 | 98 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 | |||
1500 | 4K | 45000 | 176 | 4K | 30000 | 117 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 | |||
2000 | 4K | 45000 | 176 | 4K | 30000 | 117 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 |
LL NVME
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | Mb/s | IOPS | Mb/s | |||
10 | 4K | 10000 | 39,0625 | 4K | 5000 | 19,53125 |
64K | 2500 | 350 | 64K | 1250 | 200 | |
1M | 312,5 | 500 | 1M | 156,25 | 500 | |
50 | 4K | 10000 | 39,0625 | 4K | 5000 | 19,53125 |
64K | 2500 | 350 | 64K | 1250 | 200 | |
1M | 312,5 | 500 | 1M | 156,25 | 500 | |
100 | 4K | 10000 | 39,0625 | 4K | 5000 | 19,53125 |
64K | 2500 | 350 | 64K | 1250 | 250 | |
1M | 312,5 | 500 | 1M | 156,25 | 500 | |
250 | 4K | 18750 | 73,2421875 | 4K | 8750 | 34,1796875 |
64K | 4687,5 | 350 | 64K | 2187,5 | 250 | |
1M | 585,9375 | 585,9375 | 1M | 273,4375 | 500 | |
500 | 4K | 37500 | 146,484375 | 4K | 17500 | 68,359375 |
64K | 9375 | 585,9375 | 64K | 4375 | 500 | |
1M | 1171,875 | 1171,875 | 1M | 546,875 | 546,875 | |
1000 | 4K | 75000 | 292,96875 | 4K | 35000 | 136,71875 |
64K | 18750 | 1171,875 | 64K | 8750 | 546,875 | |
1M | 2343,75 | 1200 | 1M | 1093,75 | 900 | |
2000 | 4K | 75000 | 292,96875 | 4K | 50000 | 195,3125 |
64K | 18750 | 1171,875 | 64K | 12500 | 781,25 | |
1M | 2343,75 | 1200 | 1M | 1562,5 | 900 |
Как провести тестирование
Для Windows
Для измерения показателей IOPS чтения/записи можно воспользоваться программным обеспечением DiskSPD или Fio.
DiskSPD
DiskPSD - официальный инструмент тестирования, рекомендованный компанией Microsoft и включенная в репозитории разработчиков. Следующие шаги необходимы для выполнения тестирования:
- Загрузить утилиту с официального ресурса и распаковать ее в удобное место: https://github.com/microsoft/diskspd/releases/latest
- Запустить командную строку от администратора и перейти в каталог с распакованной утилитой DiskSpd-2.0.21a\amd64\
- Предварительно создать пустой файл с размером не менее 10GB:
fsutil file createnew C:\temp\test.bin 10485760000
- Для выполнения тестов необходимо применить соответствующую типу теста команду:
- Тест случайной записи:
diskspd -Suw -b4K -o1 -t32 -r -w100 C:\temp\test.bin > C:\temp\random_write_results.txt
- Тест случайного чтения:
diskspd -Suw -b4K -o1 -t32 -r -w0 C:\temp\test.bin > C:\temp\random_read_results.txt
Fio
Измерения показателей IOPS с помощью fio производятся с указанием параметра rate_iops. Тесты выполняются со значениями:
- --rw (randread или randwrite)
- --filename (имя тестируемого устройства)
- --iodepth (8, 16, 32 или 64)
Скачать и установить Fio с официального ресурса: https://bsdio.com/fio/
Команда для выполнения теста:
fio --name=randwrite --iodepth=32 --rw=randwrite --bs=4k --direct=1 --size=10G --numjobs=1 --runtime=240 --group_reporting --filename=C:\Users\ADMIN\test
Для Linux
Измерения показателей IOPS чтения/записи осуществляются программным обеспечением fio и указанием параметра rate_iops. Тесты выполняются со значениями:
- --rw (randread или randwrite)
- --filename (имя тестируемого устройства)
- --iodepth (8, 16, 32 или 64)
Установка Fio:
sudo apt install fio
Команда для выполнения теста:
fio --name=randwrite --ioengine=libaio --iodepth=32 --rw=randwrite --bs=4k --direct=1 --size=512M --numjobs=1 --runtime=240 --group_reporting --filename=/home/user/test
Результаты измерений:
- read: IOPS
- write: IOPS
Типы проводимого тестирования | Результат тестирования (Количество IOPS) |
Чтение/запись блоками по 4 КБ в 32 потока | В соответствии со значениями SLA |
Чтение/запись блоками по 8 КБ в 32 потока | не менее 75% от SLA |
Чтение/запись по 16 КБ в 32 потока | не менее 50% от SLA |