Jak działa tiering pamięci podręcznej Ceph?
Wprowadzenie:
W tym poście dzielimy się testem benchmarku, aby pokazać, jak tiering pamięci podręcznej Ceph może poprawić wydajność puli HDD, ustawiając warstwę pamięci podręcznej wspieraną przez pulę NVMe.
Czym jest Ceph Cache Tier i jak działa
Warstwa pamięci podręcznej Ceph umożliwia wykorzystanie szybszych urządzeń pamięci masowej jako pamięci podręcznej dla wolniejszych. Polega to na utworzeniu puli szybkich/drogich urządzeń pamięci masowej (takich jak dyski NVMe SSD), skonfigurowanych jako warstwa pamięci podręcznej, oraz wolniejszej/tańszej puli urządzeń (takich jak dyski HDD) skonfigurowanych jako ekonomiczna warstwa pamięci masowej. Warstwa pamięci podręcznej przechowuje często odwoływane dane z warstwy podstawowej i obsługuje żądania odczytu i zapisu od klientów. Agent sortujący pamięć podręczną okresowo opróżnia lub usuwa obiekty z warstwy pamięci podręcznej na podstawie określonych zasad.
Demo pamięci podręcznej Ceph
W przeszłości, gdy używano dysku SSD SATA jako urządzenia pamięci podręcznej, poprawa wydajności przy użyciu warstwy pamięci podręcznej była nieznaczna. Obecnie koszt dysku NVMe SSD znacznie spadł w porównaniu do kilku lat temu, a wydajność dysku NVMe SSD jest znacznie szybsza niż HDD. Chcemy dowiedzieć się, czy użycie dysku NVMe SSD jako warstwy pamięci podręcznej może znacznie pomóc puli HDD.
Aby przetestować skuteczność warstwy pamięci podręcznej NVMe, przeprowadziliśmy test, aby sprawdzić, czy warstwa pamięci podręcznej poprawiła wydajność puli magazynu opartego na HDD.
Konfiguracja klastra
Hosty NVME | 3 x Ambedded Mars500 Ceph Appliances |
Specyfikacja każdego urządzenia Mars 500 | |
Procesor | 1x Ampere Altra Arm 64-Core 3.0 Ghz |
Pamięć | 96 GiB DDR4 |
Sieć | 2 porty 25Gbps Mellanox ConnectX-6 |
Napędy OSD | 8 x Micron 7400 960GB |
Hosty HDD | 3 x Ambedded Mars400 Ceph Appliances |
Specyfikacja każdego urządzenia Mars 400 | |
Procesor | 8 węzłów Quad-Cores Arm64 1.2 GHz |
Pamięć | 4GiB na węzeł. 32 GiB na urządzenie |
Sieć | 2 x 2.5Gbps na węzeł. 2x 10 Gb łącze wzwyż przez przełącznik w obudowie. |
Napędy OSD | 8 x 6 TB Seagate Exos HDD |
Informacje o klastrze Ceph
- 24 x OSD na dyskach NVMe SSD (3x urządzenia Ambedded Mars500)
- 24x OSD na dyskach HDD (3x urządzenia Ambedded Mars400)
- Serwery HDD i NVMe są umieszczone w oddzielnych gałęziach CRUSH.
Klienci testowi
- 2 x serwery fizyczne. 2x karta sieciowa 25Gb
- Każdy serwer obsługuje 7x maszyn wirtualnych.
- Każda maszyna wirtualna ma 4x rdzenie i 8 GB pamięci
Konfiguracja warstwy pamięci podręcznej za pomocą menedżera Ambedded UVS
1. Utwórz bazowy pool przy użyciu osd HDD.
2. Utwórz pulę NVMe, używając osd NVMe SSD.
3. Dodaj pulę NVMe jako warstwę pamięci podręcznej puli HDD.
domyślne konfiguracje warstwy pamięci podręcznej:
- Tryb pamięci podręcznej: writeback
- hit_set_count = 12
- hit_set_period = 14400 sek (4 godziny)
- target_max_byte = 2 TiB
- target_max_objects = 1 milion
- 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 sek.
- cache_min_evict_age = 1800 sek.
Przed dodaniem warstwy pamięci podręcznej przetestowaliśmy pulę dysków HDD przed i po, używając do 14 klientów do generowania obciążeń testowych. Każdy klient zamontował RBD dla testu fio. Testowanie obciążenia rozpoczęło się od jednego klienta i zwiększało liczbę klientów po zakończeniu każdego zadania testowego. Każdy cykl testowy trwał pięć minut i był automatycznie kontrolowany przez Jenkinsa. Wynik testowego zadania był sumą wyników wszystkich klientów. Przed przetestowaniem warstwy pamięci podręcznej zapisaliśmy dane do RBD, aż do momentu, gdy puli pamięci podręcznej ceph osiągnęła pełny wskaźnik docelowy (0,8).
Diagramy pokazały, że wydajność czystego puli HDD znacznie wzrosła po dodaniu puli pamięci podręcznej NVMe.
Podczas testu warstwy pamięci podręcznej obserwowaliśmy statystyki puli za pomocą polecenia ceph osd pool stats. Pule pamięci podręcznej i bazowej miały aktywności związane z opróżnianiem, usuwaniem i promowaniem. Rejestrowaliśmy statystyki puli w różnych momentach podczas testu warstwy pamięci podręcznej.
Dane zostały zapisane do pamięci podręcznej
pula pamięci podręcznej id 84
przepustowość klienta 21 MiB/s zapis, 0 operacji/s odczyt, 5,49 tys. operacji/s zapis
pula mars400_rbd id 86
nic się nie dzieje
Pamięć podręczna wykonywała promocję i usuwanie
pula pamięci podręcznej o identyfikatorze 84
klient io 42 MiB/s zapis, 0 op/s odczyt, 10,79k op/s zapis
warstwa pamięci podręcznej io 179 MiB/s usuwanie, 17 op/s promocja
pula mars400_rbd o identyfikatorze 86
klient io 0 B/s odczyt, 1,4 MiB/s zapis, 18 op/s odczyt, 358 op/s zapis
Pamięć podręczna była opróżniana
id pamięci podręcznej 84
przepustowość klienta 3.2 GiB/s odczyt, 830 operacji/s odczyt, 0 operacji/s zapis
przepustowość warstwy pamięci podręcznej 238 MiB/s opróżnianie, 14 operacji/s promowanie, 1 PG opróżnianie
id mars400_rbd pamięci podręcznej 86
przepustowość klienta 126 MiB/s odczyt, 232 MiB/s zapis, 44 operacje/s odczyt, 57 operacji/s zapis
PG usuwał
pula cache id 84
przepustowość klienta 2.6 GiB/s odczyt, 0 B/s zapis, 663 operacji/s odczyt, 0 operacji/s zapis
przepustowość warstwy pamięci podręcznej 340 MiB/s opróżnianie, 2.7 MiB/s usuwanie, 21 operacji/s promowanie, 1 PG usuwający (pełny)
pula mars400_rbd id 86
przepustowość klienta 768 MiB/s odczyt, 344 MiB/s zapis, 212 operacji/s odczyt, 86 operacji/s zapis
Płukanie PG i bezpośrednie we/wy klienta do puli podstawowej.(klienci zapisywali dane)
id puli cache 84
wejście/wyjście klienta 0 B/s zapis, 0 operacji/s odczyt, 1 operacja/s zapis
wejście/wyjście pamięci podręcznej 515 MiB/s opróżnianie, 7.7 MiB/s usuwanie, 1 PGs opróżnianie
id puli mars400_rbd 86
wejście/wyjście klienta 613 MiB/s zapis, 0 operacji/s odczyt, 153 operacje/s zapis
Po ciągłym teście, daliśmy klastrze odpocząć przez kilka godzin i przeprowadziliśmy ponownie test zapisu losowego 4 kB. Uzyskaliśmy znacznie lepszą wydajność. Wynikało to z faktu, że przestrzeń pamięci podręcznej została zwolniona na nowe zapisy.
Z tego testu jesteśmy pewni, że użycie puli NVMe jako warstwy pamięci podręcznej dla puli HDD może przynieść znaczącą poprawę wydajności.
Należy zauważyć, że wydajność warstwowania pamięci podręcznej nie jest gwarantowana. Wydajność zależy od warunków trafienia do pamięci podręcznej w danym momencie, a te same wyniki nie mogą być osiągnięte przez powtarzanie testów z tą samą konfiguracją i obciążeniem.
Jeśli Twoja aplikacja wymaga stałej wydajności, użyj czystej puli SSD NVMe.
- Powiązane produkty
Mars500 NVME Wszystko w jednym urządzeniu pamięci masowej Ceph
Mars 500
Urządzenie Mars 500 Ceph zostało zaprojektowane, aby zaspokoić potrzeby wysokowydajnego przechowywania danych w chmurze. Wykorzystuje najnowszą technologię...
DetaleUrządzenie pamięci masowej Ceph Mars 400PRO
Mars 400PRO
Mars 400 Ceph Appliance został zaprojektowany, aby sprostać wysokim potrzebom przechowywania danych w chmurze o dużej pojemności. Wykorzystuje dysk...
Detale
Urządzenie do przechowywania Ceph
Dane techniczne urządzenia do przechowywania Ceph Mars 400 HW i SW.
Jak działa tiering pamięci podręcznej Ceph? | UVS Manager - Ułatwienie wdrażania Ceph | Ambedded
Zlokalizowana na Tajwanie od 2013 roku, Ambedded Technology Co., LTD. jest dostawcą rozwiązań do przechowywania bloków i obiektów. Ich główne usługi zarządzania przechowywaniem danych obejmują technologię przechowywania Ceph, integrację serwerów ARM, przechowywanie zdefiniowane programowo, optymalizację przechowywania dla przedsiębiorstw, oszczędności kosztów przy użyciu urządzeń Ceph, oprogramowanie do zarządzania przechowywaniem oraz rozwiązania do przechowywania bloków i obiektów. Oferują profesjonalne wsparcie dla Ceph, skalowalne systemy przechowywania o wysokiej wydajności w centrum danych.
Ambedded oferuje nowoczesne rozwiązania przechowywania Ceph na mikroserwerach ARM, dostosowane do potrzeb klientów B2B, którzy chcą zoptymalizować swoje systemy przechowywania danych w przedsiębiorstwie. Nasze kompleksowe urządzenia Ceph redukują całkowity koszt posiadania (TCO) i upraszczają zarządzanie pamięcią masową, obsługując blokową, system plików oraz pamięć obiektową w jednolitej platformie. Z zaangażowaniem w innowacje i wsparcie klienta, Ambedded jest Twoim zaufanym partnerem w zakresie skalowalnych i wydajnych rozwiązań SUSE Enterprise Storage Appliance. Doświadcz bezproblemową integrację i profesjonalne wsparcie, aby wykorzystać pełny potencjał technologii Ceph w swojej firmie.
Ambedded od 2013 roku dostarcza klientom skalowalne systemy przechowywania i ekonomiczne zarządzanie pamięcią Ceph. Dzięki zaawansowanej technologii i 20-letniemu doświadczeniu, Ambedded zapewnia spełnienie indywidualnych potrzeb każdego klienta.