From dd57d086fe8311ca8da3a78f509bd15cbfb5395c Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Tue, 28 Feb 2023 23:11:29 +0300 Subject: [PATCH] Add a missing part of the "theoretical performance" to the Russian version --- docs/performance/theoretical.en.md | 13 +++++++++++-- docs/performance/theoretical.ru.md | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/docs/performance/theoretical.en.md b/docs/performance/theoretical.en.md index 82101f1b..043bd7ea 100644 --- a/docs/performance/theoretical.en.md +++ b/docs/performance/theoretical.en.md @@ -35,15 +35,24 @@ Write amplification for 4 KB blocks is usually 3-5 in Vitastor: If you manage to get an SSD which handles 512 byte blocks well (Optane?) you may lower 1, 3 and 4 to 512 bytes (1/8 of data size) and get WA as low as 2.375. +Implemented NVDIMM support can basically eliminate WA at all - all extra writes will +go to DRAM memory. But this requires a test cluster with NVDIMM - please contact me +if you want to provide me with such cluster for tests. + Lazy fsync also reduces WA for parallel workloads because journal blocks are only written when they fill up or fsync is requested. ## In Practice -In practice, using tests from [Understanding Performance](understanding.en.md) -and good server-grade SSD/NVMe drives, you should head for: +In practice, using tests from [Understanding Performance](understanding.en.md), decent TCP network, +good server-grade SSD/NVMe drives and disabled CPU power saving, you should head for: - At least 5000 T1Q1 replicated read and write iops (maximum 0.2ms latency) +- At least 5000 T1Q1 EC read IOPS and at least 2200 EC write IOPS (maximum 0.45ms latency) - At least ~80k parallel read iops or ~30k write iops per 1 core (1 OSD) - Disk-speed or wire-speed linear reads and writes, whichever is the bottleneck in your case Lower results may mean that you have bad drives, bad network or some kind of misconfiguration. + +Current latency records: +- 9668 T1Q1 replicated write iops (0.103 ms latency) with TCP and NVMe +- 9143 T1Q1 replicated read iops (0.109 ms latency) with TCP and NVMe diff --git a/docs/performance/theoretical.ru.md b/docs/performance/theoretical.ru.md index 9a95bded..e32c27d3 100644 --- a/docs/performance/theoretical.ru.md +++ b/docs/performance/theoretical.ru.md @@ -36,6 +36,25 @@ WA (мультипликатор записи) для 4 КБ блоков в Vit Если вы найдёте SSD, хорошо работающий с 512-байтными блоками данных (Optane?), то 1, 3 и 4 можно снизить до 512 байт (1/8 от размера данных) и получить WA всего 2.375. +Если реализовать поддержку NVDIMM, то WA можно, условно говоря, ликвидировать вообще - все +дополнительные операции записи смогут обслуживаться DRAM памятью. Но для этого необходим +тестовый кластер с NVDIMM - пишите, если готовы предоставить такой для тестов. + Кроме того, WA снижается при использовании отложенного/ленивого сброса при параллельной нагрузке, т.к. блоки журнала записываются на диск только когда они заполняются или явным образом запрашивается fsync. + +## На практике + +На практике, используя тесты fio со страницы [Понимание сути производительности систем хранения](understanding.ru.md), +нормальную TCP-сеть, хорошие серверные SSD/NVMe, при отключённом энергосбережении процессоров вы можете рассчитывать на: +- От 5000 IOPS в 1 поток (T1Q1) и на чтение, и на запись при использовании репликации (задержка до 0.2мс) +- От 5000 IOPS в 1 поток (T1Q1) на чтение и 2200 IOPS в 1 поток на запись при использовании EC (задержка до 0.45мс) +- От 80000 IOPS на чтение в параллельном режиме на 1 ядро, от 30000 IOPS на запись на 1 ядро (на 1 OSD) +- Скорость параллельного линейного чтения и записи, равная меньшему значению из скорости дисков или сети + +Худшие результаты означают, что у вас либо медленные диски, либо медленная сеть, либо что-то неправильно настроено. + +Зафиксированный на данный момент рекорд задержки: +- 9668 IOPS (0.103 мс задержка) в 1 поток (T1Q1) на запись с TCP и NVMe при использовании репликации +- 9143 IOPS (0.109 мс задержка) в 1 поток (T1Q1) на чтение с TCP и NVMe при использовании репликации