
Hoe presteert Ceph-cachelaagvorming?
Inleiding:
In deze post delen we een benchmarktest om aan te tonen hoe Ceph-cachelaagvorming de prestaties van een HDD-pool kan verbeteren door een cachelaag in te stellen die wordt ondersteund door een NVMe-pool.
Wat is Ceph Cache Tier en hoe werkt het?
De Ceph-cachelaag maakt het mogelijk om snellere opslagapparaten te gebruiken als cache voor langzamere. Dit houdt in dat er een pool van snelle/duurdere opslagapparaten (zoals NVMe SSD's) wordt gecreëerd die zijn geconfigureerd om als een cache-laag te fungeren, en een langzamere/goedkopere achterliggende pool van ofwel foutencodering of langzamere apparaten (zoals HDD's) die zijn geconfigureerd om als een economische opslaglaag te fungeren. De cache-laag slaat vaak geraadpleegde gegevens op van de achterliggende laag en verwerkt lees- en schrijfverzoeken van cliënten. De cache-tieringagent leegt of verwijdert periodiek objecten uit de cache-tier op basis van bepaalde beleidsregels.
Ceph Cache Tier Demo
In het verleden, toen de SATA SSD als cache-laag opslagapparaat werd gebruikt, was de prestatieverbetering van het gebruik van cache-laag opslag onbeduidend. Tegenwoordig zijn de kosten van NVMe SSD's sterk gedaald in vergelijking met enkele jaren geleden, en de prestaties van NVMe SSD's zijn veel sneller dan die van HDD's. We willen weten of het gebruik van de NVMe SSD als cache-laag een grote hulp kan zijn voor een HDD-pool.
Om de effectiviteit van de NVMe-cachelaag te testen, hebben we een test opgezet om te zien of de cachelaag de prestaties van een op HDD gebaseerde opslagpool verbeterde.
Clusterconfiguratie
NVME -gastheren | 3 x Ambedded Mars500 Ceph Appliances |
Specificatie van elk Mars 500-apparaat | |
CPU | 1x Ampere Altra Arm 64-Core 3.0 GHz |
Geheugen | 96 GiB DDR4 |
Netwerk | 2 poorten 25Gbps Mellanox ConnectX-6 |
OSD-schijven | 8 x Micron 7400 960GB |
HDD-hosts | 3 x Ambedded Mars400 Ceph Appliances |
Specificatie van elk Mars 400-apparaat | |
CPU | 8 nodes Quad-Cores Arm64 1.2 GHz |
Geheugen | 4GiB per node. 32 GiB per apparaat |
Netwerk | 2 x 2,5 Gbps per knooppunt. 2x 10 GB uplink via in-chassis schakelaar. |
OSD-schijven | 8 x 6 TB Seagate Exos HDD |
Ceph Cluster informatie
- 24 x OSD op NVMe SSD (3x Ambedded Mars500 apparaten)
- 24x OSD op HDD (3x Ambedded Mars400 apparaten)
- HDD- en NVMe-servers bevinden zich in gescheiden CRUSH-wortels.
Testclients
- 2 x fysieke servers. 2x 25Gb netwerkkaart
- Elke server draait 7x VM's.
- Elke VM heeft 4x core en 8 GB geheugen
Stel de Cache Tier in via Ambedded UVS-manager
1. Maak een basispool aan door de HDD osd te gebruiken.
2. Maak een NVMe-pool aan met de NVMe SSD osd.
3. Voeg de NVMe-pool toe als de cache-laag van de HDD-pool.
de standaardconfiguraties voor cache-lagen:
- Cachemodus: writeback
- hit_set_count = 12
- hit_set_period = 14400 sec (4 uur)
- target_max_byte = 2 TiB
- target_max_objects = 1 miljoen
- 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 sec.
- cache_min_evict_age = 1800 sec.
We hebben de HDD-pool getest voor en na het toevoegen van de cache-laag, met tot 14 clients om testbelastingen te genereren. Elke klant monteerde een RBD voor de fio-test. De testbelasting begon met één klant en verhoogde het aantal klanten na elke voltooide testtaak. Elke testcyclus duurde vijf minuten en werd automatisch gecontroleerd door Jenkins. De prestaties van een testjob waren de som van alle resultaten van de klanten. Voordat we de cache-tiering testten, schreven we gegevens naar de RBD's totdat de cache-tierpool boven de ceph-cachedoelvolratio (0,8) was gevuld.
De diagrammen toonden aan dat de prestaties van de pure HDD-pool aanzienlijk verbeterd waren na het toevoegen van een NVMe-cachepool.
Tijdens de cache -tiertest hebben we zwembadstatistieken waargenomen met behulp van de Ceph OSD Pool -statistiekenopdracht. De cache- en basispools hadden doorspoeld, uitzetting en bevordering van activiteiten. We hebben zwembadstatistieken op verschillende tijdstippen vastgelegd tijdens de cache -tiertest.
Gegevens zijn naar de cache geschreven
pool cache id 84
client io 21 MiB/s wr, 0 op/s rd, 5.49k op/s wr
pool mars400_rbd id 86
er gebeurt niets
Cache was promoten en uitgezet
\ npool cache ID 84
\ n Client IO 42 MIB/S WR, 0 OP/S RD, 10.79K OP/S WR
\ n Cache tier io 179 MIB/s EVict, 17 OP/S Promotie
\ npool mars400_rbd ID 86
\ n client io 0 b/s rd, 1,4 mib/s WR, 18 OP/S RD, 358 OP/S WR
Cache was aan het fluseren
\ npool cache ID 84
\ n Client IO 3.2 GIB/S RD, 830 OP/S RD, 0 OP/S WR
\ n Cache Tier IO 238 MIB/S Flush, 14 OP/S Promotie, 1 PGS spoelen
\ npool mars400_rbd ID 86
\ n Client IO 126 MIB/S RD, 232 MIB/S WR, 44 OP/S RD, 57 OP/S WR
PG was uitgezet
\ npool cache ID 84
\ n client io 2.6 gib/s rd, 0 b/s WR, 663 OP/S RD, 0 OP/S WR
\ n Cache Tier IO 340 MIB/S Flush, 2,7 MIB/S EVict, 21 OP/S Promotie, 1 PG's uitzetten (vol)
\ npool mars400_rbd ID 86
\ n Client IO 768 MIB/S RD, 344 MIB/S WR, 212 OP/S RD, 86 OP/S WR
PG Flushen en client IO direct naar de basispool.(Klanten aan het schrijven van gegevens)
\ npool cache ID 84
\ n client io 0 b/s wr, 0 op/s rd, 1 op/s wr
\ n Cache Tier IO 515 MIB/S Flush, 7,7 MIB/s Vest, 1 PGS PLOWIN
\ npool mars400_rbd ID 86
\ n Client IO 613 MIB/S WR, 0 OP/S RD, 153 OP/S WR
Na de continue test hebben we het cluster uren laten rusten en hebben we de 4 kB willekeurige schrijftest opnieuw uitgevoerd. We kregen een veel betere prestatie. Dit kwam omdat de cacheruimte werd vrijgegeven voor het nieuwe schrijven.
Uit deze test zijn we er zeker van dat het gebruik van de NVMe-pool als de cachelaag van een HDD-pool aanzienlijke prestatieverbetering kan opleveren.
Het moet worden opgemerkt dat de prestaties van cache-tiering niet gegarandeerd kunnen worden. De prestaties zijn afhankelijk van de cache-hitconditie op dat moment, en dezelfde prestaties kunnen niet worden bereikt door tests met dezelfde configuratie en workloads te herhalen.
Als uw applicatie consistente prestaties nodig heeft, gebruik dan een pure NMMe SSD-pool.
- Gerelateerde producten
Mars500 NVME All Flash Ceph Opslag Appliance
Mars 500
Mars 500 Ceph Apparaat is ontworpen om te voldoen aan de behoeften van high-performance cloud-native dataopslag. Het maakt gebruik van de nieuwste NVMe...
DetailsMars 400PRO Ceph opslagapparaat
Mars 400PRO
Mars 400 Ceph Appliance is ontworpen om te voldoen aan de hoge capaciteitseisen voor cloud-native gegevensopslag. Het maakt gebruik van HDD om te profiteren...
Details