Изменения

Перейти к: навигация, поиск

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

4054 байта добавлено, 23:10, 15 февраля 2019
Нет описания правки
И ещё один вариант — Intel Optane. Это тоже SSD, но они основаны не на Flash памяти (не NAND и не NOR), а вообще на другой технологии, называющейся 3D XPoint. Хз, как она работает, но заявляются 550000 iops при полном отсутствии необходимости в стирании блоков, кэше и конденсаторах. Но а) в применении к Ceph — нужно проверять — не факт, что Ceph вообще сможет выжать из них их iops-ы б) вариант дорогой, раза в 3 дороже типичной SSD (1500$ за 960 гб, 500$ за 240 гб).
 
== BlueStore vs FileStore ==
 
Хоть BlueStore и считается «новым» бэкендом хранилища, есть очень популярное мнение, что он тормозит и поэтому не нужен.
 
После долгого ковыряния в проблеме разъясняю: нет, BlueStore не тормозит «в целом». В частности:
 
* BlueStore в 2 раза '''быстрее''' FileStore в линейной записи (можно считать, что всегда), так как в нём крупные блоки пишутся 1 раз — сразу на устройство, а не 2 (в журнал и потом на устройство).
* BlueStore примерно равен FileStore по производительности случайной записи и latency в All-Flash кластерах. Пиковая производительность при этом обычно немного выше, однопоточная — немного ниже. Жор CPU тоже немного меньше. Всё это варьируется, но по крайней мере блюстор здесь не хуже.
 
ОДНАКО! BlueStore без дополнительных ухищрений действительно ХУЖЕ FileStore в популярной конфигурации HDD + журнал на SSD:
 
* Условно, собрав небольшой кластер на BlueStore, в 1 поток на HDD+SSD вы получите ~100 иопс на запись, а в FileStore ~500.
* Почему? Потому, что BlueStore очень часто делает сброс данных из очереди отложенной записи на HDD (каждые 32 операции, deferred_batch_ops) и при сбросе тормозит все последующие операции.
* В итоге случайная запись ждёт окончания записи не только на SSD, а также и на HDD.
* Ждёт оно так не каждую операцию, поэтому iops-ы лучше, чем просто на HDD. Но всё-таки ждёт, поэтому iops-ы хуже, чем в FileStore.
 
Как это полечить?
 
* Либо вместо журнала сделать из SSD bcache поверх HDD.
* Либо использовать HDD с Media Cache или аналогом (перманентным кэшем случайной записи на пластинах). Например, в дисках HGST это включается при отключении волатильного кэша командой `hdparm -W 0 /dev/sdXX`.
 
Также BlueStore делает огромное количество fsync-ов (что очень смешно — даже больше, чем запросов записи), из-за чего не терпит десктопных SSD под журналом. Но FileStore работает похоже, и кардинальной разницы производительности это не вносит.
 
Ну и ещё FileStore отстаёт от BlueStore по функциональности:
* Снапшоты там работают со скоростью LVM, то есть, при записи 4 кб после снятия снапшота копируется весь 4 Мб объект. То есть, после снятия снапшота RBD ВМ тормозят.
* Плюс отсутствуют некоторые другие фичи BlueStore: нет частичной перезаписи в EC-пулах (соответственно, EC нельзя использовать под CephFS и RBD), нет сжатия (хотя оно и не особо нужно), нет контрольных сумм (а вот они полезны, в частности, из-за их отсутствия нельзя использовать size=2).
== Контроллеры ==

Навигация