Документация "Инферит Облако"

предоставляем сервис тестирования виртуальных SSD‑дисков в Инферит облаке, проверяя соответствие выбранному Tier 1 или Tier 2 требованиям IOPS, пропускной способности и latency согласно SLA для вашего бизнеса всегда

Документация на нашем сайте предлагает исчерпывающие инструкции и руководства, созданные для повышения вашей эффективности при работе с облачными сервисами. В ней подробно описаны ключевые функции, процессы настройки инструментов, управление ресурсами, меры безопасности и практические сценарии использования

Методика тестирования производительности виртуальных дисков

Проверка соответствия производительности виртуального диска выбранному типу (Тиру) в облаке

В облачной инфраструктуре доступны 2 Тира кластеров хранения информации на основе SSD накопителей

В Инферит облаке используются только SSD носители.

01
  • Тир 1 – классические SSD накопители DC класса;
  • Тир 2 – высокопроизводиительные накопители;

Каждый тип диска имеет собственные технические спецификации, ограниченные показателями – IOPS (количество операций ввода–вывода в секунду), скорости записи/чтения (Мб/сек) и задержкой (latency).

Базовые усреднённые метрики:

Тип диска randwrite IOPS randread IOPS RW MB/Sec RR MB/Sec Latency avg. Latency min.
Tier 1 – SSD 50 000 35 000 175 150 2 ms. 0.2 ms.
Tier 2 – SSD (high-iops) 125 000 50 000 400 250 1 ms. 0.1 ms.

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

RandomWrite Tier 2 block 4k
 

test2t2

При глубине 64 и размере блока 4k

Тип диска randwrite IOPS randread IOPS RW MB/Sec RR MB/Sec Latency avg. Latency min.
Tier 1 – SSD 1 500 1 000 1 500 1 000 25 ms. 1.5 ms.
Tier 2 – SSD (high-iops) 4 000 3 500 4 000 3 500 15 ms. 1.5 ms.

При глубине 64 и размере блока 1M

Рекомендуемое время выполнения тестов – не менее 5 минут!

Tier 1 - RandRead block 1M
 

test3t1

 
Tier 2 - RandRead block 1M
 

test4

Кроме технических ограничений, выбранный тип дисков подразумевает определённый SLA – обеспечение приемлемых показателей производительности при строго обозначенном профиле нагрузки на диск. К таким показателям относятся:

  • Отдаваемое в гостевую ОС диском VM гарантированное количество IOPS определённого размера;
  • Профиль нагрузки, при котором данное количество IOPS будет обеспечено;
  • Время отклика дисковых операций.

Пример:

Тип дисков Tier 1 – SSD гарантирует, что для диска объёмом 1000ГБ:
Гостевая ОС получит 50 000 IOPS при размере одной операции в 4КБ;
время отклика не более 2мс.

Для проверки соответствия производительности диска выбранной политике применяются синтетические генераторы нагрузки, позволяющие строго указать все необходимые параметры теста:

  1. FIO (Flexible I/O tester) для гостевых ОС Windows и Linux;
  2. DiskSpd для гостевых ОС Windows.

Синтетические тесты не предназначены для работы на продуктивной системе. Это может вызвать деградацию производительности работающего приложения, а также привести к некорректным результатам. Поэтому, перед проведением теста, необходимо выполнить остановку всех сервисов и приложений, создающих нагрузку на диск.

Работа с FIO

Результаты выполнения job в fio могут отличаться как в лучшую так и в худшую сторону относительно SLA. Для получения достоверных результатов проведите 5-7 замеров с интервалом в 10-15 минут.
Проводить тестирование на дисках с установленной ОС не рекомендуется из-за искажения результатов.

В качестве примера будет рассмотрен запуск теста с использованием созданного файла конфигурации для диска объёмом 1 000 ГБ, тип диска Tier 1 – SSD
Необходимо убедиться, что гостевая ОС может гарантированно получить 50 000 IOPS размером блока 4КБ, с задержкой не более 3мс.

  1. Загрузите и установите текущую версию FIO для гостевой ОС:
  • Windows: дистрибутивы доступны для скачивания;
  • Linux: самостоятельно соберите FIO из исходных кодов или установите готовый пакет, используя пакетный менеджер. Пример для RHEL: yum –y install fio.
  1. Сформируйте конфигурационный файл fio3.ini с описанием всех параметров теста.

Windows:

[global]
# Название теста
description=test
# Рабочая директория. В ней FIO создаст job-файлы заданного размера. Например, если тест запускается для тома F, то:
directory=F\:\
# Размер job-файла. Может варьироваться в зависимости от уровня заполнения диска. Не рекомендуется заполнять диск более чем на 80%.
size=15g
# Время работы теста в секундах. Рекомендуемая длительность тестирования не менее 5-ти минут
runtime=300
time_based
# Выбор библиотеки движка для проведения тестирования. Для Windows указывается windowsaio, для Linux libaio
ioengine=windowsaio
# Процент рандомизации операций ввода-вывода.
percentage_random=100
# Запрет использования кэша
direct=1
# Предполагаемая глубина очереди
iodepth=64
# Количество job-файлов. Может варьироваться, если тесту не хватает мощности для достижения требуемого потолочного значения IOPS
numjobs=1
group_reporting
[random]
# Размер блока. Он же размер 1й операции ввода-вывода
bs=4k
# Провести тест в режиме случайного чтения и записи
rw=randrw

Linux:

fio --name=randwrite --ioengine=libaio --iodepth=64 --rw=randwrite --bs=4k  --numjobs=1 --runtime=60 --group_reporting  --size=5G --filename=/mnt/fio/test4
  1. Процедура тестирования:

Windows
Запустите тест FIO, указав конфигурационный файл: fio.exe fio3.ini.
При первом запуске FIO сначала сформирует на указанном диске требуемое количество job–файлов заданного объёма, затем произведёт нагрузочное тестирование в течение указанного времени. Повторный запуск теста будет использовать имеющиеся файлы, если их параметры не были изменены в конфигурационном файле.

Linux
Выполните:

fio --name=randwrite --ioengine=libaio --iodepth=64 --rw=randwrite --bs=4k  --numjobs=1 --runtime=60 --group_reporting  --size=5G --filename=/mnt/dirname/test1
  1. Получите и интерпретируйте результаты теста:

Требуемые результаты представлены на скриншоте ниже:
Достигнуто требуемое среднее значение в 79 350 IOPS (при необходимых 50 000).
Получена приемлемая (менее 2 мс) средняя задержка для операций:
write lat (usec) avg=806,74, что эквивалентно 0,8мс;
 

test6

FIO не использует фиксированную размерность для отображения результатов времени отклика, поэтому рекомендуется правильно пересчитывать размерность результатов в миллисекунды.

Методика тестирования производительности сети между Инстансами в Проекте

Для тестирования пропускной способности сети между Инстансами внутри одного Проекта применялось программное обеспечение – iperf ( https://iperf.fr/ )

Методика:
Разные HV

  • на ВМ запущен iperf в режиме сервера:
iperf -s
  • на клиентском хосте запущена команда (для одного подключения):
iperf -c 10.10.60.61

Вывод:

diff 1
  • для параллели из 20 подключений на 30 секунд:
iperf -c 10.10.60.61 -P 20 -t 30

Вывод:

diff 2

В рамках 1 HV

  • на ВМ запущен iperf в режиме сервера:
iperf -s
  • на клиентском хосте запущена команда (для одного подключения):
iperf -c 10.10.60.61

Вывод:

same 1
  • для параллели из 20 подключений на 30 секунд:
iperf -c 10.10.60.61 -P 20 -t 30

Вывод:

same 2
Получить доступ в личный кабинет клиента
Публикации в СМИ
Подключить сервис
Получить демо-доступ
Получить консультацию