
Jak provádí vrstvu mezipaměti Ceph?
Úvod:
V tomto příspěvku sdílíme benchmarkový test, který demonstruje, jak může Ceph cache tiering zlepšit výkon HDD poolu nastavením cache tieru podloženého NVMe pool.
Co je Ceph Cache Tier a jak funguje
Ceph mezipaměťová vrstva umožňuje použití rychlejších úložných zařízení jako mezipaměti pro pomalejší. To zahrnuje vytvoření skupiny rychlých/drahých úložných zařízení (jako jsou NVMe SSD disky), které jsou nakonfigurovány jako vyrovnávací vrstva, a pomalejších/levnějších záložních zařízení (jako jsou HDD disky) nakonfigurovaných jako ekonomická úložná vrstva. Cache vrstva ukládá často přistupovaná data z podpůrné vrstvy a obsluhuje čtení a zápis požadavků od klientů. Agent pro vrstvení mezipaměti pravidelně vyprazdňuje nebo vytěsňuje objekty z mezipaměti na základě určitých pravidel.
Demo Ceph Cache Tier
V minulosti, když se používala SATA SSD jako úložiště pro mezipaměťovou vrstvu, výkonnostní zlepšení pomocí mezipaměťové vrstvy bylo zanedbatelné. Dnes se cena NVMe SSD výrazně snížila ve srovnání s několika lety a výkon NVMe SSD je mnohem rychlejší než HDD. Chceme vědět, zda použití NVMe SSD jako mezipaměťové vrstvy může výrazně pomoci HDD poolu.
Abychom otestovali účinnost NVMe cache tieru, nastavili jsme test, abychom zjistili, zda cache tier zlepšuje výkon úložného poolu založeného na HDD.
Nastavení clusteru
NVME hostitelé | 3 x Ambedded Mars500 Ceph Appliances |
Specifikace každého zařízení Mars 500 | |
Procesor | 1x Ampere Altra Arm 64-Core 3.0 Ghz |
Paměť | 96 GiB DDR4 |
Síť | 2 porty 25Gbps Mellanox ConnectX-6 |
OSD Pohony | 8 x Micron 7400 960GB |
HDD Hostitelé | 3 x Ambedded Mars400 Ceph Appliances |
Specifikace každého zařízení Mars 400 | |
Procesor | 8 uzlů Quad-Core Arm64 1.2 GHz |
Paměť | 4GiB na uzel. 32 GiB na zařízení |
Síť | 2 x 2.5Gbps na uzel. 2x 10 Gb uplink přes přepínač v šasi. |
OSD Pohony | 8 x 6 TB Seagate Exos HDD |
Informace o shluku Ceph
- 24 x OSD na NVMe SSD (3x Ambedded zařízení Mars500)
- 24x OSD na HDD (3x Ambedded zařízení Mars400)
- Servery s HDD a NVMe jsou umístěny v oddělených CRUSH kořenech.
Testovací klienti
- 2 x fyzické servery. 2x 25Gb síťová karta
- Každý server běží 7x VM.
- Každá VM má 4x jádro a 8 GB paměti
Nastavte mezipaměťovou vrstvu pomocí Ambedded UVS správce
1. Vytvořte základní pool pomocí HDD osd.
2. Vytvořte NVMe pool pomocí NVMe SSD osd.
3. Přidejte fond NVMe jako mezipaměťovou vrstvu fondu HDD.
výchozí konfigurace mezipaměťové vrstvy:
- Režim cache: writeback
- hit_set_count = 12
- hit_set_period = 14400 sekund (4 hodiny)
- 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 sekund.
- cache_min_evict_age = 1800 sec.
Před přidáním vyrovnávací vrstvy jsme testovali skupinu HDD a poté, s použitím až 14 klientů, generovali testovací zatížení. Každý klient připojil RBD pro fio test. Testovací zátěž začala s jedním klientem a po dokončení každého testovacího úkolu se zvýšil počet klientů. Každý testovací cyklus trval pět minut a byl automaticky řízen pomocí Jenkins. Výkon testovacího úkolu byl součtem výsledků všech klientů. Před testováním vrstvení mezipaměti jsme zapisovali data do RBD až do naplnění mezipaměti cache tier nad plným poměrem cíle mezipaměti ceph (0,8).
Diagramy ukázaly, že výkon čistého HDD poolu se výrazně zlepšil po přidání NVMe cache poolu.
Během testu úrovně mezipaměti jsme pozorovali statistiky fondu pomocí příkazu STEP OSD Pool. Mezipaměť a základní bazény měly splachování, vystěhování a propagaci činností. Během testu úrovně mezipaměti jsme zachytili statistiky bazénu v různých časech.
Data byla zapsána do mezipaměti
mezipaměť s ID 84
klient IO 21 MiB/s zápis, 0 operací/s čtení, 5,49 tis. operací/s zápisu
mezipaměť mars400_rbd s ID 86
nic se neděje
Cache prováděl propagaci a vyprazdňování
ID cache poolu 84
vstup klienta 42 MiB/s zápis, 0 operací/s čtení, 10,79 tis. operací/s zápisu
vstup cache vrstvy 179 MiB/s vyprazdňování, 17 operací/s propagace
ID poolu mars400_rbd 86
vstup klienta 0 B/s čtení, 1,4 MiB/s zápis, 18 operací/s čtení, 358 operací/s zápisu
Cache se vyprazdňoval
ID vyrovnávací paměti bazénu 84
klient IO 3,2 GiB/s čtení, 830 operací/s čtení, 0 operací/s zápis
IO vyrovnávací paměti 238 MiB/s vyprazdňování, 14 operací/s povýšení, 1 vyprazdňující PG
ID bazénu mars400_rbd 86
klient IO 126 MiB/s čtení, 232 MiB/s zápis, 44 operací/s čtení, 57 operací/s zápis
PG vyhazovalo
úložiště cache id 84
klient io 2.6 GiB/s čtení, 0 B/s zápis, 663 op/s čtení, 0 op/s zápis
úložiště cache io 340 MiB/s vyprázdnění, 2.7 MiB/s vyhazování, 21 op/s povýšení, 1 PGs vyhazování (plné)
úložiště mars400_rbd id 86
klient io 768 MiB/s čtení, 344 MiB/s zápis, 212 op/s čtení, 86 op/s zápis
PG Vypouštění a přímý vstup klienta do základního bazénu.(klienti zapisovali data)
ID cache bazénu 84
klient IO 0 B/s zápis, 0 operací/s čtení, 1 operace/s zápis
cache tier IO 515 MiB/s flush, 7.7 MiB/s evict, 1 PGs flushin
ID bazénu mars400_rbd 86
klient IO 613 MiB/s zápis, 0 operací/s čtení, 153 operací/s zápis
Po nepřetržitém testu jsme nechali cluster odpočívat po dobu hodin a znovu provedli test náhodného zápisu 4 kB. Dosáhli jsme mnohem lepšího výkonu. To bylo způsobeno tím, že cache prostor byl uvolněn pro nový zápis.
Z tohoto testu jsme si jisti, že použití NVMe poolu jako cache vrstvy HDD poolu může dosáhnout významného zlepšení výkonu.
Je třeba poznamenat, že výkon cache vrstvení nelze zaručit. Výkon závisí na podmínkách zásahu cache v daném okamžiku a stejný výkon nelze dosáhnout opakováním testů se stejnou konfigurací a pracovními zátěžemi.
Pokud vaše aplikace potřebuje konzistentní výkon, použijte čistý NMMe SSD pool.
- Související produkty
Mars500 NVME All Flash Ceph Storage Appliance
Mars 500
Mars 500 Ceph Appliance je navržen tak, aby splňoval vysoké výkonnostní potřeby pro ukládání dat v cloudovém prostředí. Využívá nejnovější...
PodrobnostiÚložné zařízení Ceph Mars 400PRO
Mars 400PRO
Mars 400 Ceph Appliance je navržen tak, aby splňoval vysoké kapacitní potřeby pro ukládání dat v cloudu. Využívá HDD pro výhodu nízké ceny...
Podrobnosti