Hogyan lehet optimalizálni a virtuális gép memóriáját és a processzor teljesítményét?

A modern adatközpontok számára elérhető, nagyon skálázható szerver-architektúrák példátlan memória- és CPU-sűrűséget értek el. Ennek eredményeként a virtuális gép sűrűsége is nőtt. A nagyon méretezhető kiszolgálók felépítéséhez alkalmazott technikák egy része nem kívánt teljesítményproblémát okozhat a virtuális gépek számára. Az egyik leggyakoribb probléma a NUMA csomópont kiegyensúlyozása. Ebben a bejegyzésben megpróbálok magas szintű áttekintést adni a problémáról és annak néhány módjáról. Nem minden hipervizor foglalkozik ugyanúgy a NUMA csomópontokkal, így semlegesen tartottam ezt a hipervizor utáni feladatot. A virtuális környezet sajátosságait legjobban a szállítóval lehet megoldani.

Mi a NUMA memória?

A NUMA (nem egységes memória-hozzáférés) hardveres architektúrák több memória buszt használnak a többprocesszoros rendszerek vitás kérdésének enyhítésére. Ez hatalmas méretezhetőségi előnyt jelent a hagyományos SMP (Symmetric Multi-Processing) modellhez képest, ha nagyszámú processzorra van szükség. Az architektúra az egyes processzorokat leképezi bizonyos nagysebességű buszokra, amelyek meghatározott memóriakészletekhez kapcsolódnak. Ezek egy NUMA csomópontot alkotnak. A processzorral azonos NUMA csomópontban lévő memóriát helyi memórianak tekintjük, és viszonylag gyorsan elérhető. A NUMA csomóponton kívüli memóriát idegen memóriának kell tekinteni, és a hozzáférés hosszabb ideig tart.

A fenti ábra szerint a VM0 rendben lesz, mivel minden magnak elegendő helyi memóriája van. A virtuális gép soha nem kaphat hozzárendelt magokat különböző NUMA csomópontokban, mert a NUMA-t tudatában lévő hipervizor csak egy NUMA csomóponthoz rendelhet virtuális gépet. A VM2 NUMA memória fragmentálódásával járhat, amely befolyásolhatja a teljesítményt, mivel nincs elegendő helyi memória a 12 GB-os követelmény teljesítéséhez.

Egyes esetekben a virtuális gépek jobban teljesítenek kevesebb fizikai CPU-val és azonos memóriamennyiségű kiszolgálókkal, mivel minden NUMA csomópontnak több helyi memóriája lesz. Hasonlítsa össze a 4 processzoros 32 GB-os rendszert, ahol minden NUMA csomópont 8 GB helyi memóriával rendelkezik, a 2 processzoros 24 GB-os rendszerrel, ahol minden egyes NUMA csomópontnak 12 GB helyi memóriája van.

Hogyan befolyásolja ez a virtuális gépeket?

Ha a virtuális gép olyan memóriát használ, amely nem tartozik ugyanabba a NUMA csomópontba, akkor előfordulhat, hogy teljesítményproblémákkal jár, amikor idegen memória szükséges. Ha eltérő mennyiségű memória van a különböző NUMA csomópontokban, akkor ez problémát jelenthet, ha a virtuális gépek véletlenszerűen vannak elosztva a csomópontok között. Szerencsére a modern hipervizorok tisztában vannak a NUMA-val, és megpróbálják a nagy memórianyomokkal rendelkező virtuális gépeket hozzárendelni a helyi memóriájú csomópontokhoz. Lehetőség van egy NUMA csomópont affinitás hozzárendelésére is a virtuális géphez. Ez felülbírálja a virtuális gépek dinamikus hozzárendelését a NUMA csomópontokhoz.

Néhány problémás forgatókönyv

Vegyünk egy sor olyan nyugvó virtuális gépet, amelyek NUMA affinitási hozzárendeléssel rendelkeznek. Amikor felpörögnek, a NUMA csomóponthoz lesz hozzárendelve, amelyet az affinitás beállításban jelölnek meg. Ha túl sok virtuális gép van hozzárendelve ugyanahhoz a NUMA csomóponthoz, akkor a processzor erőforrás-állításának lehetősége lehet egyetlen csomóponton belül, míg a többi csomópont kihasználatlan. Ezenkívül a memória túlzott igénybevétele bizonyos esetekben súlyosbíthatja a problémát. Mi lenne, ha a virtuális gép memória lábnyoma nagyobb, mint a NUMA csomópont memóriája?

A megoldás

A technika állása szerint kiegyensúlyozni kell a NUMA csomópont memória és a processzor követelményeit a virtuális gép teljesítményének optimalizálása érdekében. Ennek nagy része jól megérti a virtuális gépek által futtatott munkaterhelést, és milyen lehet a rossz teljesítmény következményei.

Korábbi hozzászólásomban jeleztem, hogy a virtuális gép és a hipervizor tudatos monitorozása fontos, hogy valódi képet kapjunk a virtuális gép és a host teljesítményéről. Az olyan helyzetekben, mint a NUMA affinitás, a hagyományos teljesítményfigyelő eszközökkel nehézségekbe ütközik. Ez a típusú forgatókönyv, amelyet a teljesítménymutatók új fajtája segít kezelni. A gazdagépek és a virtuális gépek független felügyelete nem elegendő. Gondoskodnia kell arról, hogy megértse a kérdéseket, hogy rendelkezzen a megfelelő telemetria biztosításához szükséges műszerekkel, legyen meghatározva küszöbértékek és küszöbértékek, és ami a legfontosabb, hogy képes reagálni, amikor elérik őket.

© Copyright 2020 | mobilegn.com