158 lines
8.6 KiB
Markdown
158 lines
8.6 KiB
Markdown
[Документация](../../README-ru.md#документация) → Производительность → Более новый тест Vitastor 1.3.1
|
||
|
||
-----
|
||
|
||
[Read in English](bench2.en.md)
|
||
|
||
# Более новый тест Vitastor 1.3.1
|
||
|
||
- [Описание стенда](#описание-стенда)
|
||
- [Примечания](#примечания)
|
||
- [Производительность голых дисков](#производительность-голых-дисков)
|
||
- [2 реплики](#2-реплики)
|
||
- [3 реплики](#3-реплики)
|
||
- [EC 2+1](#ec-2-1)
|
||
|
||
## Описание стенда
|
||
|
||
Железо: 3 сервера, в каждом:
|
||
- 8x NVMe Samsung PM9A3 1.92 TB
|
||
- 2x Xeon Gold 6342 (24 ядра @ 2.8 GHz)
|
||
- 256 GB RAM
|
||
- Двухпортовая 25 GbE сетевая карта Mellanox ConnectX-4 LX с поддержкой RoCEv2
|
||
- Подключение к 2 коммутаторам Mellanox SN2010 в MLAG
|
||
|
||
## Примечания
|
||
|
||
Версия Vitastor 1.3.1.
|
||
|
||
Тесты проводились с самих серверов хранения - по 4 клиента fio с каждого из 3 серверов.
|
||
|
||
Тестировался один большой образ размером 3 ТБ со всех хостов - создавать отдельные образы
|
||
для тестов в Vitastor необязательно, т.к. в Vitastor нет замедления при записи в один
|
||
узел несколькими клиентами.
|
||
|
||
Экономия энергии CPU отключена. На каждый NVMe создавалось 4 OSD.
|
||
Контрольные суммы не включались. Тесты с контрольными суммами будут проведены
|
||
позднее. Тогда же будет протестирована более новая версия Vitastor, и результаты
|
||
будут обновлены.
|
||
|
||
Конфигурация CPU стенда неоптимальна из-за NUMA - двухпроцессорных серверов лучше
|
||
избегать. Особенно это проявлялось во время тестов с RDMA - выражалось это в потреблении
|
||
100% одного ядра CPU одним процессом ksoftirqd и работой одного из двух сетевых портов
|
||
на скорости 3-5 ГБит/с вместо 25 ГБит/с - предположительно, из-за "непопаданий" RFS
|
||
(Receive Flow Steering) на нужные ядра. Решить эту проблему во время проведения тестов
|
||
не получилось. Было перепробовано множество различных настроек, но в итоге тесты проведены
|
||
с настройками по умолчанию, т.к. улучшения добиться не удалось.
|
||
|
||
# Производительность голых дисков
|
||
|
||
- Линейная запись ~1000-2000 МБ/с, в зависимости от состояния сборщика мусора диска
|
||
- Линейное чтение ~3300 МБ/с
|
||
- T1Q1 запись ~60000 iops (задержка ~0.015ms)
|
||
- T1Q1 чтение ~14700 iops (задержка ~0.066ms)
|
||
- T1Q16 запись ~180000 iops
|
||
- T1Q16 чтение ~120000 iops
|
||
- T1Q32 запись ~180000 iops
|
||
- T1Q32 чтение ~195000 iops
|
||
- T1Q128 запись ~180000 iops
|
||
- T1Q128 чтение ~195000 iops
|
||
- T4Q128 запись ~525000 iops
|
||
- T4Q128 чтение ~750000 iops
|
||
|
||
Из данных цифр очевидно, что при наличии более быстрой сети результаты были бы
|
||
значительно лучше, так как в диски тест, очевидно, не упирался. Например, теоретический предел по
|
||
линейному чтению для 24 таких дисков был бы около 79.2 ГБайт/с, то есть,
|
||
633 гигабита в секунду. Реальная скорость чтения (и случайного, и линейного)
|
||
Vitastor составила примерно 16 ГБайт/с, то есть 130 гигабит в секунду. При этом
|
||
следует заметить, что этот результат всё равно значительно лучше пропускной способности
|
||
сети отдельно взятого узла - что тоже вполне логично, так как тест выполнялся со
|
||
всех трёх узлов.
|
||
|
||
## 2 реплики
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------------|--------------|
|
||
| Линейное чтение (4M T6 Q16) | 13.13 ГБ/с | 16.25 ГБ/с |
|
||
| Линейная запись (4M T6 Q16) | 8.16 ГБ/с | 7.88 ГБ/с |
|
||
| Чтение 4k T1 Q1 | 8745 iops | 10252 iops |
|
||
| Запись 4k T1 Q1 | 8097 iops | 11488 iops |
|
||
| Чтение 4k T12 Q128 | 1305936 iops | 4265861 iops |
|
||
| Запись 4k T12 Q128 | 660490 iops | 1384033 iops |
|
||
|
||
Потребление CPU OSD на 1 диск:
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|---------|---------|
|
||
| Линейное чтение (4M T6 Q16) | 29.7 % | 29.8 % |
|
||
| Линейная запись (4M T6 Q16) | 84.4 % | 33.2 % |
|
||
| Чтение 4k T12 Q128 | 98.4 % | 119.1 % |
|
||
| Запись 4k T12 Q128 | 173.4 % | 175.9 % |
|
||
|
||
Потребление CPU на 1 клиента (fio):
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------|--------|
|
||
| Линейное чтение (4M T6 Q16) | 100 % | 85.2 % |
|
||
| Линейная запись (4M T6 Q16) | 55.8 % | 48.8 % |
|
||
| Чтение 4k T12 Q128 | 99.9 % | 96 % |
|
||
| Запись 4k T12 Q128 | 71.6 % | 48.5 % |
|
||
|
||
## 3 реплики
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------------|--------------|
|
||
| Линейное чтение (4M T6 Q16) | 13.98 ГБ/с | 16.54 ГБ/с |
|
||
| Линейная запись (4M T6 Q16) | 5.38 ГБ/с | 5.7 ГБ/с |
|
||
| Чтение 4k T1 Q1 | 8969 iops | 9980 iops |
|
||
| Запись 4k T1 Q1 | 8126 iops | 11672 iops |
|
||
| Чтение 4k T12 Q128 | 1358818 iops | 4279088 iops |
|
||
| Запись 4k T12 Q128 | 433890 iops | 993506 iops |
|
||
|
||
Потребление CPU OSD на 1 диск:
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------|---------|
|
||
| Линейное чтение (4M T6 Q16) | 24.9 % | 25.4 % |
|
||
| Линейная запись (4M T6 Q16) | 99.3 % | 38.4 % |
|
||
| Чтение 4k T12 Q128 | 95.3 % | 111.7 % |
|
||
| Запись 4k T12 Q128 | 173 % | 194 % |
|
||
|
||
Потребление CPU на 1 клиента (fio):
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------|--------|
|
||
| Линейное чтение (4M T6 Q16) | 99.9 % | 85.8 % |
|
||
| Линейная запись (4M T6 Q16) | 38.9 % | 38.1 % |
|
||
| Чтение 4k T12 Q128 | 100 % | 96.1 % |
|
||
| Запись 4k T12 Q128 | 51.6 % | 41.9 % |
|
||
|
||
## EC 2+1
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------------|--------------|
|
||
| Линейное чтение (4M T6 Q16) | 10.07 ГБ/с | 11.43 ГБ/с |
|
||
| Линейная запись (4M T6 Q16) | 7.74 ГБ/с | 8.32 ГБ/с |
|
||
| Чтение 4k T1 Q1 | 7408 iops | 8891 iops |
|
||
| Запись 4k T1 Q1 | 3525 iops | 4903 iops |
|
||
| Чтение 4k T12 Q128 | 1216496 iops | 2552765 iops |
|
||
| Запись 4k T12 Q128 | 278110 iops | 821261 iops |
|
||
|
||
Потребление CPU OSD на 1 диск:
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|---------|---------|
|
||
| Линейное чтение (4M T6 Q16) | 68.6 % | 33.6 % |
|
||
| Линейная запись (4M T6 Q16) | 108.3 % | 50.2 % |
|
||
| Чтение 4k T12 Q128 | 138.1 % | 97.9 % |
|
||
| Запись 4k T12 Q128 | 168.7 % | 188.5 % |
|
||
|
||
Потребление CPU на 1 клиента (fio):
|
||
|
||
| | TCP | RDMA |
|
||
|------------------------------|--------|--------|
|
||
| Линейное чтение (4M T6 Q16) | 88.2 % | 52.4 % |
|
||
| Линейная запись (4M T6 Q16) | 51.8 % | 46.8 % |
|
||
| Чтение 4k T12 Q128 | 99.7 % | 61.3 % |
|
||
| Запись 4k T12 Q128 | 35.1 % | 31.3 % |
|