Изменения

Производительность Ceph

1161 байт добавлено, 17:22, 22 октября 2019
Нет описания правки
== Оценка производительности кластера ==
* Оценка производительности кластера просто по спецификациям входящих в него SSD не совсем верна дисков - абсолютно неправильна. Речь о Bluestore. Под iops понимаются iops случайного чтения/записи блоками по 4 кб. 1 HDD (точнееобычный, 7200 rpm, скорее совсем не верна)SMR, причём в обе стороныбез ssd-кэша) - это:*~100-120 iops при QD=128* Bluestore, видимо, за счёт параллелизма, выдаёт чуть больше ~66 iops-ов даже на SSD без конденсаторовпри QD=1* ~40 MB/s линейного чтения/записи* При недостатке памяти показатели будут хуже, чем просто те же ssd могут выдать т.к. будут cache miss по метаданным 1 быстрый SSD или NVMe SSD (с fsync — я лично смог добиться от тестового пула на 3-х Intel SSDSC2KW256G8 8000 конденсаторами, write iops (случайная запись>= 25000), хотя сами ssd с fsync выдают примерно 5500:** И обратно~1000 iops на запись при QD=1, даже если SSD мегабыстраяв зависимости от частоты CPU и настроек может быть от 300 до, цеф — это огромный оверхедв самом идеальном случае, он жрёт проц и никаких 220000 ~2500 iops из одной SSD не выжмет. См. ниже [[#Пример теста от Micron]] — там в суперкрутом сетапе у них вышло всего 8750 * Максимум до ~10000-20000 iops в пересчёте на запись при QD=128 на 1 NVMe OSD.* На чтение показатели примерно в 2-2.5 раза лучше: QD=1 ~2000 iops (после небольшого тюна они улучшили результат максимум до ~12000 iops на 1 NVMe4000), QD=128 ~20000, максимум до 50000.* Можно считатьЕстественно, что лимит iops-ов показатель QD=128 не может быть больше, чем показатель самого диска :). Но т.к. хорошие SSD в пересчёте параллельном режиме обычно быстрые - это не замечаешь.* Создав несколько OSD на одну SSD/NVMe находится одном диске, можно умножить число QD=128 iops на уровне ~10000-15000число OSD. Естественно, ценой аналогичного увеличения жора CPU.* Большой Скорость линейного чтения/записи примерно равна скорости линейного чтения/записи самого диска.* Кардинальной разницы по iops между хорошей SATA SSD и даже NVMe в цефе — , если у обоих есть конденсаторы - нет. Это не отменяет того, что NVMe лучше, но на случайном доступе это заметить трудно.* Если SATA На актуальных SSD плохая — разница естьчтение QD=1 часто бывает медленнее записи QD=1, т. :) плохим к. писать можно считать всёв быстрый кэш, что даёт меньше 20000 а читать можно только из реальной памяти. Разница бывает примерно такая: на чтение при QD=1 8000 iops, а на запись 40000 iops в один поток с sync.* <s>Лайфхак для ускорения однопоточной нагрузкиИтоговые показатели: mdadm RAID 0 * Линейное чтение из RBD-образов внутри самой виртуалки<кластера = Число OSD * MB/s> — проверено, не работает.одного OSD* Лайфхак для очень быстрых дисков: несколько Линейная запись в реплицированный пул = Число OSD / Репликация * MB/s одного OSD на одном диске — работает, но ценой сильного увеличения жора CPU.* Гипотетический монстр производительности Линейная запись в вакууме: мощные процы, Intel NVMe, сеть 25EC-пул = Число OSD / (K+ ГбитM) * K * MB/с или Infiniband, <s>SPDK/DPDK</s> (SPDK работаетодного OSD* С iops всё сложнее, но не даёт прироста, DPDK не работает вообще)т.к. репликация вносит нелинейный эффект в масштабирование. Но, условно говоря:** iops QD=1 - усредняются по всем OSD, а iops QD=128 - суммируются** При этом на 1 RBD клиента можно получить лишь до ~30000 iops на чтение и ~15000 iops на запись* Естественно, если что-то упираетесь в сеть - соответствующая цифра обрезается показателем сети
== Картина маслом «Тормозящий кэш» ==