Изменения

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

935 байтов добавлено, 23:24, 24 марта 2019
Нет описания правки
И ещё один вариант — Intel Optane. Это тоже SSD, но они основаны не на Flash памяти (не NAND и не NOR), а на Phase-Change-Memory «3D XPoint». По спецификации заявляются 550000 iops при полном отсутствии необходимости в стирании блоков, кэше и конденсаторах. Но если даже задержка такого диска и равна 0.01мс, то задержка Ceph всё равно как минимум в 50 раз больше, соответственно, с Ceph оптаны использовать чуть менее, чем бессмысленно — за большие деньги (1500$ за 960 гб, 500$ за 240 гб) вы получите не сильно лучший результат.
== BlueStore Bluestore vs FileStore Filestore ==
Хоть BlueStore и считается «новым» бэкендом Блюстор — «новое» хранилище. От «нового» хранилища, есть очень популярное мнение, что он тормозит и поэтому честно ожидаешь лучшей или хотя бы не нуженхудшей производительности в любых сценариях.
После долгого ковыряния И таки да, при линейной записи Bluestore фактически в проблеме разъясняю: нет2 раза быстрее Filestore - двойную запись там честно ликвидировали, BlueStore крупные блоки пишутся только 1 раз — сразу на устройство, а не тормозит «в целом»2 (в журнал и потом на устройство). В частности:
* BlueStore в 2 раза быстрее FileStore при линейной записи (можно считать, что всегда), так как в нём крупные блоки пишутся 1 раз — сразу на устройство, а не 2 (в журнал и потом на устройство).* BlueStore примерно равен FileStore по производительности Но вот со случайной записи и latency в All-Flash кластерах. Пиковая производительность при этом обычно немного выше, однопоточная — немного ниже. Жор CPU тоже немного меньше. Всё это варьируется, но по крайней мере блюстор здесь записью всё не хужетак однозначно.
ОДНАКО! BlueStore без дополнительных ухищрений действительно ХУЖЕ FileStore в популярной конфигурации * В HDD + журнал на SSD-only конфигурациях (по крайней мере, если "снять ручник" https://tracker.ceph.com/issues/38559) по random 4k write iops Bluestore тоже в честных 2 раза быстрее, чем Filestore.* УсловноВ HDD+SSD кластерах производительность у Bluestore идеально стабильная, собрав небольшой кластер на BlueStoreно сильно меньшая, чем у Filestore в 1 поток на пике. От блюстора невозможно добиться "сглаживания пиков" случайной записи через SSD-журнал. Он устроен так, что отказывается писать быстрее, чем в среднем может писать HDD+. То есть даже с SSD -журналом вы получите ~лишь 100 иопс на запись-200 iops с 1 диска - в то время, а как в FileStore ~500 (без SSD вообще будет 30Filestore, пока в журнале есть место, можно иметь 1000-50 иопс)2000 iops.* Почему? Потому: И проблема не только в том, что BlueStore очень часто делает параметры по умолчанию - deferred_batch_ops и max_deferred_txc - задают частый сброс данных из очереди отложенной записи операций на HDD медленный диск (каждые 32 раз в 64 операции). Проблема ещё в том, deferred_batch_opsчто в Bluestore отсутствуют механизмы фоновой очистки "журнала" (очереди отложенной записи) . Поэтому, когда очередь забивается, производительность просто падает до HDD-шной до перезапуска OSD. Ну и при сбросе тормозит все последующие операциисама очередь находится в RocksDB, поэтому сильно поднимать её размер, по идее, неполезно.* В итоге случайная запись ждёт окончания записи не только на SSDAll-Flash кластерах (то есть, а также и на HDD.* Ждёт оно так не каждую операциюбыстрых дисках) Bluestore латентнее Filestore, поэтому iops-ы лучшевозможно, чем просто на HDD30-50%. Но всёОднако эти 30-таки ждёт50% относятся к latency именно самого блюстора, поэтому iopsв абсолютном выражении составляют ~0.1 мс и на фоне общей задержки Ceph-ы а практически не заметны. Кроме того, latency ничего не говорит о параллельной пиковой пропускной способности, а она по крайней мере не хуже, чем в FileStoreFilestore (обычно чуть лучше, +5..10%). Жор CPU тоже чуть меньше.
Как это полечить?