Как проявляется производительность кэширования Ceph?
Введение:
В этом посте мы делимся результатами бенчмарк-теста, чтобы продемонстрировать, как кэширование Ceph может улучшить производительность пула на HDD, настроив кэш-уровень, поддерживаемый пулом NVMe.
Что такое Ceph Cache Tier и как оно работает
Кэш-уровень Ceph позволяет использовать более быстрые устройства хранения в качестве кэша для более медленных. Это включает создание пула быстрых/дорогих устройств хранения (например, NVMe SSD), настроенных для работы в качестве кэш-уровня, и медленного/дешевого пула из устройств с кодированием с избытком или медленных устройств (например, HDD), настроенных для работы в качестве экономичного уровня хранения. Кэш-уровень хранит часто запрашиваемые данные из основного уровня и обрабатывает запросы на чтение и запись от клиентов. Агент кэширования периодически сбрасывает или удаляет объекты из кэш-уровня на основе определенных политик.
Демонстрация кэш-уровня Ceph
В прошлом, при использовании SATA SSD в качестве устройства хранения кэш-уровня, улучшение производительности от использования кэш-уровня было незначительным. В настоящее время стоимость NVMe SSD снизилась значительно по сравнению с несколькими годами назад, а производительность NVMe SSD гораздо выше, чем у HDD. Мы хотим узнать, может ли использование NVMe SSD в качестве кэш-уровня значительно помочь пулу HDD.
Для проверки эффективности кэш-уровня NVMe мы настроили тест, чтобы увидеть, улучшает ли кэш-уровень производительность хранилища на основе HDD.
Настройка кластера
Хосты NVME | 3 x Ambedded Mars500 Ceph Appliances |
Спецификация каждого устройства Mars 500 | |
ЦП | 1x Ampere Altra Arm 64-Core 3.0 ГГц |
Память | 96 GiB DDR4 |
Сеть | 2 порта 25 Гбит/с Mellanox ConnectX-6 |
Диски OSD | 8 x Micron 7400 960 ГБ |
Хосты HDD | 3 x Ambedded Mars400 Ceph Appliances |
Спецификация каждого устройства Mars 400 | |
ЦП | 8 узлов Quad-Cores Arm64 1.2 ГГц |
Память | 4 ГиБ на узел. 32 ГиБ на устройство |
Сеть | 2 x 2.5 Гбит/с на узел. 2x 10 Гбит/с вверх через встроенный коммутатор. |
Диски OSD | 8 x 6 ТБ Seagate Exos HDD |
Информация о Ceph кластере
- 24 x OSD на NVMe SSD (3x Ambedded устройства Mars500)
- 24x OSD на HDD (3x устройства Mars400 от Ambedded)
- Серверы с HDD и NVMe находятся в отдельных корнях CRUSH.
Тестовые клиенты
- 2 x физических сервера. 2x сетевая карта 25Gb
- Каждый сервер запускает 7x ВМ.
- У каждой ВМ 4x ядра и 8 ГБ памяти
Настройка уровня кэша с помощью менеджера UVS от Ambedded
1. Создайте базовый пул, используя HDD osd.
2. Создайте пул NVMe, используя NVMe SSD osd.
3. Добавьте пул NVMe в качестве кэш-уровня для пула HDD.
конфигурации кэш-уровня по умолчанию:
- Режим кэширования: запись обратно
- hit_set_count = 12
- hit_set_period = 14400 сек (4 часа)
- target_max_byte = 2 ТиБ
- target_max_objects = 1 миллион
- min_read_recency_for_promote & min_write_recency_for_promote = 2
- cache_target_dirty_ratio = 0.4
- cache_target_dirty_high_ratio = 0.6
- cache_target_full_ratio = 0.8
- cache_min_flush_age = 600 сек.
- cache_min_evict_age = 1800 сек.
Мы тестировали пул HDD до и после добавления кэш-уровня, используя до 14 клиентов для создания тестовых нагрузок. Каждый клиент смонтировал RBD для теста fio. Тестовая нагрузка началась с одного клиента и количество клиентов увеличивалось после завершения каждой тестовой задачи. Каждый тестовый цикл длился пять минут и автоматически контролировался Jenkins. Результат выполнения тестовой работы был суммой результатов всех клиентов. Перед тестированием кэширования уровня, мы записывали данные на RBD-диски до тех пор, пока пул кэширования уровня не заполнился сверх предельного соотношения заполнения кэша Ceph (0.8).
Диаграммы показали, что производительность чистого пула HDD значительно улучшилась после добавления пула кэша NVMe.
Во время тестирования кэш-уровня мы наблюдали статистику пула с помощью команды ceph osd pool stats. В пулах кэша и базовом пуле происходили операции сброса, вытеснения и повышения. Мы фиксировали статистику пула в разные моменты во время тестирования кэш-уровня.
Данные были записаны в кэш
пул кэша id 84
скорость записи клиента 21 MiB/s, скорость чтения 0 операций/с, скорость записи 5.49k операций/с
пул mars400_rbd id 86
ничего не происходит
Кэш выполнял продвижение и вытеснение
id пула кэша 84
клиентский ввод/вывод 42 МиБ/с зап., 0 оп/с чт., 10,79k оп/с зап.
ввод/вывод уровня кэша 179 МиБ/с вытеснение, 17 оп/с продвижение
id пула mars400_rbd 86
клиентский ввод/вывод 0 Б/с чт., 1,4 МиБ/с зап., 18 оп/с чт., 358 оп/с зап.
Кэш очищается
идентификатор кэша 84
ввод-вывод клиента 3.2 GiB/s чтение, 830 операций чтения, 0 операций записи
ввод-вывод кэш-уровня 238 MiB/s сброс, 14 операций продвижения, 1 PGs очищается
идентификатор mars400_rbd пула 86
ввод-вывод клиента 126 MiB/s чтение, 232 MiB/s запись, 44 операции чтения, 57 операций записи
PG был выселен
пул кэша id 84
клиентский ввод-вывод 2,6 ГиБ/с чтение, 0 Б/с запись, 663 оп/с чтение, 0 оп/с запись
ввод-вывод кэш-уровня 340 МиБ/с очистка, 2,7 МиБ/с выселение, 21 оп/с продвижение, 1 PG выселяется (полностью)
пул mars400_rbd id 86
клиентский ввод-вывод 768 МиБ/с чтение, 344 МиБ/с запись, 212 оп/с чтение, 86 оп/с запись
Сброс PG и прямой ввод-вывод клиента в базовый пул.(клиенты записывали данные)
пул кэша id 84
клиент io 0 B/s запись, 0 операций чтения, 1 операция записи
кэш-уровень io 515 MiB/s сброс, 7.7 MiB/s вытеснение, 1 PGs сброс
пул mars400_rbd id 86
клиент io 613 MiB/s запись, 0 операций чтения, 153 операции записи
После непрерывного тестирования мы оставили кластер на несколько часов и повторно провели тест на запись случайных блоков размером 4 КБ. Мы получили значительно лучшую производительность. Это произошло потому, что место в кэше было освобождено для новой записи.
Из этого теста мы уверены, что использование пула NVMe в качестве кэш-уровня для пула HDD может значительно улучшить производительность.
Следует отметить, что производительность кэш-уровня не может быть гарантирована. Производительность зависит от условий попадания в кэш в данный момент, и повторное тестирование с той же конфигурацией и рабочей нагрузкой не даст той же производительности.
Если вашему приложению требуется стабильная производительность, используйте чистый пул SSD на базе NVMe.
- Связанные продукты
Марс500 NVME Всефлэш хранилище Ceph
Mars 500
Mars 500 Ceph Appliance разработан для удовлетворения высокопроизводительных потребностей...
ПодробностиХранилище Ceph Mars 400PRO
Mars 400PRO
Mars 400 Ceph Appliance разработан для удовлетворения высоких потребностей в хранении данных...
Подробности
Как проявляется производительность кэширования Ceph? | Менеджер UVS - Упрощение развертывания Ceph | Ambedded
Расположенная на Тайване с 2013 года, Ambedded Technology Co., LTD. является поставщиком решений для блочного и объектного хранения данных. Их основные направления в управлении хранением данных включают технологию хранения Ceph, интеграцию ARM-серверов, программно-определяемое хранение, оптимизацию хранения предприятий, экономию затрат на устройства Ceph, программное обеспечение для управления хранением и решения для блочного и объектного хранения данных. Они предоставляют профессиональную поддержку Ceph, масштабируемые системы хранения с высокой эффективностью в центре обработки данных.
Ambedded предлагает передовые решения для хранения Ceph на микросерверах ARM, разработанные для B2B-покупателей, стремящихся оптимизировать свои системы хранения предприятия. Наши готовые комплекты Ceph снижают общую стоимость владения (TCO) и упрощают управление хранилищем, поддерживая блочное, файловое и объектное хранилище на единой платформе. С обязательством к инновациям и поддержке клиентов, Ambedded является вашим надежным партнером для масштабируемых и эффективных решений хранилища SUSE Enterprise Storage Appliance. Получите безупречную интеграцию и профессиональную поддержку для раскрытия полного потенциала технологии Ceph в вашем бизнесе.
Ambedded предоставляет клиентам масштабируемые системы хранения и экономичное управление хранилищем Ceph с 2013 года, и с использованием передовых технологий и 20-летнего опыта Ambedded гарантирует удовлетворение потребностей каждого клиента.