Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Beş 1. Der barê CPU

Di vê gotarê de em ê li ser hejmarên performansa bîranîna gihîştina rasthatî (RAM) li vSphere biaxivin.
Wusa dixuye ku bi bîranînê re her tişt ji pêvajoyê zelaltir e: heke pirsgirêkên performansê li ser VM-ê çêbibin, dijwar e ku meriv wan ferq neke. Lê heger ew xuya bibin, ew bi wan re pir dijwar e. Lê pêşî tiştên pêşîn.

Hinek hestê

RAM-a makîneyên virtual ji bîranîna servera ku VM li ser dixebitin tê girtin. Ev pir eşkere ye :). Heke li ser serverê ji bo her kesî RAM têr tune, ESXi dest bi karanîna teknîkên vegerandina bîranînê dike. Wekî din, pergalên xebitandinê yên VM-ê dê bi xeletiyên gihîştina RAM-ê têk bibin.

ESXi biryar dide ka kîjan teknîkî li gorî barkirina RAM-ê bikar bîne:

Rewşa bîranînê

Sînor

Actions

bilind

400% ji min Belaş

Piştî ku gihîştina sînorê jorîn, rûpelên bîranîna mezin li yên piçûk têne dabeş kirin (TPS di moda standard de dixebite).

Zelal

100% ji min Belaş

Rûpelên bîranînê yên mezin li yên piçûk têne dabeş kirin, TPS neçar e.

Nerm

64% ji min Belaş

TPS + Balloon

hişk

32% ji min Belaş

TPS + Compress + Swap

Nizm

16% ji min Belaş

Bişkojk + Biguherîne + Astengkirin

Çavkaniya

MinFree RAM-a ku ji bo xebitandina hypervisor hewce ye.

Heya ESXi 4.1-ê tevde, minFree ji hêla xwerû ve hatî rast kirin - 6% ji RAM-a serverê (ji sedî dikare bi vebijarka Mem.MinFreePct li ser ESXi were guheztin). Di guhertoyên paşîn de, ji ber mezinbûna bîranînê li ser serveran, minFree dest pê kir ku li ser bingeha mîqdara bîranîna mêvandar were hesibandin, û ne wekî nirxek ji sedî sabît.

Nirxa minFree (default) wekî jêrîn tê hesibandin:

Ji sedî bîranînê ji bo minBree hatiye veqetandin

Rêzeya bîranînê

6%

0-4 GB

4%

4-12 GB

2%

12-28 GB

1%

Bîra Bermayî

Çavkaniya

Mînakî, ji bo serverek bi 128 GB RAM, nirxa MinFree dê wiha be:
MinBela = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB
Nirxa rastîn dikare bi çend sed MB-ê cûda bibe, li gorî server û RAM-ê ve girêdayî ye.

Ji sedî bîranînê ji bo minBree hatiye veqetandin

Rêzeya bîranînê

Nirx ji bo 128 GB

6%

0-4 GB

245,76 MB

4%

4-12 GB

327,68 MB

2%

12-28 GB

327,68 MB

1%

Bîra mayî (100 GB)

1024 MB

Bi gelemperî, ji bo standên hilberîner, tenê dewleta Bilind dikare normal were hesibandin. Ji bo bendên ceribandin û pêşkeftinê, dibe ku dewletên zelal / nerm werin pejirandin. Ger RAM-a li ser mêvandar ji% 64 MinFree kêmtir be, wê hingê VM-yên ku li ser wê dixebitin bê guman pirsgirêkên performansê dijîn.

Di her dewletekê de, hin teknîkên vejandina bîranînê têne bikar anîn, ji TPS-ê, ku bi rastî bandorek li ser performansa VM-yê nake, heya Veguheztinê dest pê dike. Ez ê ji we re bêtir li ser wan bêjim.

Parvekirina Rûpelê Zelal (TPS). TPS, bi gelemperî, jêbirina rûpelên RAM-ê yên makîneyên virtual li ser serverê ye.

ESXi li rûpelên RAM-ê yên makîneya virtual ya yeksan digere bi hejmartin û berhevkirina berhevoka hash ya rûpelan, û rûpelên dubare jê dike, li şûna wan referansên heman rûpelê di bîra laşî ya serverê de vedigire. Wekî encamek, mezaxtina bîranîna laşî kêm dibe û hin zêde abonetiya bîranînê bi rastî bêyî bandorek performansê dikare were bidestxistin.

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn
Çavkaniya

Ev mekanîzma tenê ji bo rûpelên bîranînê yên mezinahiya 4 KB (rûpelên piçûk) dixebite. Hîpervisor tewra hewl nade ku rûpelên bi mezinahiya 2 MB (rûpelên mezin) ji hev derxîne: şansê dîtina rûpelên wekhev ên bi vê mezinahiyê ne mezin e.

Bi xwerû, ESXi bîranînê ji rûpelên mezin re vediqetîne. Parçekirina rûpelên mezin di nav rûpelên piçûk de dema ku sînorê dewleta Bilind bigihîje dest pê dike û dema ku gihîştina rewşa Paqij bi zorê dibe (li tabloya rewşa hypervisor binêre).

Heke hûn dixwazin ku TPS bêyî ku li benda tijebûna RAM-ya mêvandar dest bi xebatê bike, hûn hewce ne ku nirxê di Vebijarkên Pêşkeftî ESXi de bicîh bikin. "Mem.AllocGuestLargePage" heta 0 (pêşniyaz 1). Dûv re veqetandina rûpelên bîranîna mezin ji bo makîneyên virtual dê were neçalak kirin.

Ji Kanûna 2014-an vir ve, di hemî berdanên ESXi de, TPS-ya di navbera VM-an de ji hêla xwerû ve hatî neçalak kirin, ji ber ku qelsiyek hate dîtin ku bi teorîkî rê dide yek VM ku bigihîje RAM-a VM-ya din. Details here. Ez di derbarê pêkanîna pratîkî ya îstismarkirina qelsiya TPS de rast nehatim.

Siyaseta TPS bi vebijarka pêşkeftî ve tê kontrol kirin "Mem.ShareForceSalting" li ser ESXi:
0 - Inter-VM TPS. TPS ji bo rûpelên VM-yên cihêreng dixebite;
1 - TPS ji bo VM-yên bi heman nirxa "sched.mem.pshare.salt" di VMX de;
2 (xweser) - Intra-VM TPS. TPS ji bo rûpelên di hundurê VM de dixebite.

Bê guman maqûl e ku hûn rûpelên mezin neçalak bikin û Inter-VM TPS li ser maseyên ceribandinê çalak bikin. Ev jî dikare ji bo standên bi hejmareke mezin ji VM-yên wekhev were bikar anîn. Mînakî, li ser standên bi VDI, teserûfa di bîranîna laşî de dikare bigihîje ji sedî dehan.

Memory Ballooning. Baloning êdî ji bo pergala xebitandina VM-ê wekî TPS ne teknîkek wusa bê zirar û zelal e. Lê heke rast were bikar anîn, hûn dikarin bi Balooning re bijîn û tewra bixebitin.

Bi Amûrên Vmware re, ajokerek taybetî ya bi navê Balloon Driver (aka vmmemctl) li ser VM-ê tê saz kirin. Gava ku hîpervisor dest pê dike ji bîra laşî qediya û têkeve rewşa Soft, ESXi ji VM dipirse ku RAM-a nekarandî bi navgîniya vê Balloon Driver vegerîne. Ajokar, di encamê de, di asta pergala xebitandinê de dixebite û bîranîna belaş jê daxwaz dike. Hîpervisor dibîne kîjan rûpelên bîranîna fizîkî ya Balloon Driver dagir kiriye, bîra ji makîneya virtual digire û vedigerîne mêvandar. Di xebata OS-ê de pirsgirêk tune ne, ji ber ku di asta OS-ê de bîranîn ji hêla ajokera Balloon ve tê dagir kirin. Bi xwerû, Balloon Driver dikare% 65 ji bîra VM bigire.

Ger Amûrên VMware li ser VM-yê neyên saz kirin an jî Balloning neçalak be (ez wê pêşniyar nakim, lê heye KB:), hîpervisor tavilê ji bo rakirina bîranînê diguhezîne teknîkên hişktir. Encam: Piştrast bikin ku Amûrên VMware li ser VM-ê ne.

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn
Operasyona Balloon Driver dikare ji OS-ê bi navgîniya Amûrên VMware ve were kontrol kirin.

Memory Compression. Dema ku ESXi digihîje rewşa Hard ev teknîk tê bikar anîn. Wekî ku ji navê xwe diyar dike, ESXi hewl dide ku rûpelek 4KB ya RAM-ê di 2KB de kom bike, bi vî rengî hin cîh di bîra laşî ya serverê de azad bike. Ev teknîkî dema gihîştina naveroka rûpelên VM RAM-ê bi girîngî zêde dike, ji ber ku pêdivî ye ku rûpel pêşî were jêbirin. Carinan ne hemî rûpel nikarin werin kom kirin û pêvajo bixwe hin dem digire. Ji ber vê yekê, ev teknîkî di pratîkê de ne pir bandor e.

Veguheztina bîranînê. Piştî qonaxek kurt a Kompresyona Bîrê, ESXi hema hema neçarî (heke VM neçûne mêvandarên din an neyên girtin) veguherîne Swapping. Û heke bîranînek pir hindik maye (Rewşa kêm), wê hingê hîpervisor jî veqetandina rûpelên bîranînê ji VM-yê re rawestîne, ku dikare di OS-ya mêvan a VM-yê de bibe sedema pirsgirêkan.

Bi vî rengî Swapping dixebite. Dema ku hûn makîneyek virtual vekin, pelek bi dirêjkirina .vswp jê re tê çêkirin. Ew bi mezinahî bi RAM-a bêparastî ya VM-ê re wekhev e: ev cûdahiya di navbera bîranîna mîhengkirî û veqetandî de ye. Dema ku Swapping dimeşe, ESXi rûpelên bîra makîneya virtual diguhezîne vê pelê û li şûna bîranîna laşî ya serverê bi wê re dest bi xebatê dike. Bê guman, bîranîna weha "RAM" çend rêzan ji bîranîna rastîn hêdîtir e, tevî ku .vswp li ser hilanîna bilez be.

Berevajî Ballooning, dema ku rûpelên neyên bikar anîn ji VM-ê têne girtin, bi Veguheztina rûpelên ku ji hêla OS-ê ve an serîlêdanên di hundurê VM-ê de bi rengek çalak têne bikar anîn dikarin li dîskê werin veguheztin. Wekî encamek, performansa VM-ê digihîje xala cemidandinê. VM bi awayekî fermî dixebite û bi kêmanî ew dikare bi rêkûpêk ji OS-ê were asteng kirin. Ger hûn sebir in 😉

Ger VM çûne Swapê, ev rewşek acîl e ku heke gengaz be çêtirîn jê were dûr xistin.

Berhevkarên performansa bîranîna makîneya virtual ya bingehîn

Ji ber vê yekê em gihîştin tiştê sereke. Ji bo çavdêriya rewşa bîra VM-ê, hejmarên jêrîn hene:

Active - mîqdara RAM (KB) ya ku VM di heyama pîvandina berê de gihîştiye nîşan dide.

Bikaranîna - heman wekî Active, lê wekî sedî RAM-a mîhengkirî ya VM. Bi karanîna formula jêrîn tête hesibandin: mezinahiya bîranîna mîhengkirî ya makîneya virtual ya çalak ÷.
Bikaranîna Bilind û Çalak, bi rêzê ve, her gav nîşanek pirsgirêkên performansa VM ne. Ger VM bi tundî bîranînê bikar tîne (bi kêmanî digihîje wê), ev nayê vê wateyê ku bîranîn têr tune. Belê, ev sedemek e ku meriv li tiştê ku di OS-ê de diqewime binêre.
Ji bo VM-ê ji bo Bikaranîna Bîrê Alarmek standard heye:

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Shared - Mîqdara VM RAM-a ku bi karanîna TPS-ê (di nav VM-ê de an di navbera VM-an de) hatî veqetandin.

Grante - Hejmara bîranîna fîzîkî ya mêvandar (KB) ku ji VM-ê re hate veqetandin. Parvekirî çalak dike.

Mezin kirin (Destkirin - Parvekirî) - mêjera bîra laşî (KB) ya ku VM ji mêvandar dixwe. Parvekirî nagire.

Ger beşek ji bîra VM ne ji bîra laşî ya mêvandar, lê ji pelek veguheztinê were dayîn, an jî bîranîn bi navgîniya ajokara Balloonê ji VM-yê were girtin, ev mîqdar di Daxuyandî û Vexwarinê de nayê hesibandin.
Nirxên Berdestkirî û Serxwekirî yên Bilind bi tevahî normal in. Pergala xebitandinê hêdî hêdî bîranînê ji hypervisor digire û paşde nade. Bi demê re, di VM-ya çalak a xebitandinê de, nirxên van jimarvanan nêzî mîqdara bîranîna mîhengkirî dibin, û li wir dimînin.

Sifir - mîqdara VM RAM (KB), ku sifir dihewîne. Bîra wusa ji hêla hypervisor ve belaş tê hesibandin û dikare ji makîneyên din ên virtual re were dayîn. Piştî ku OS-ya mêvan tiştek li ser bîranîna sifir nivîsand, ew diçe nav Consumed û venagere.

Reserved Overhead - mîqdara VM RAM, (KB) ku ji hêla hypervisor ve ji bo xebata VM ve hatî veqetandin. Ev mîqdarek piçûk e, lê divê ew li ser mêvandar peyda bibe, wekî din VM dest pê nake.

Balon - mîqdara RAM (KB) ji VM-ê bi karanîna ajokera Balloon ve hatî rakirin.

Lihev kirin - mîqdara RAM (KB) ya ku hate pêçandin.

guherandin - mîqdara RAM (KB), ku, ji ber nebûna bîranîna laşî ya li ser serverê, çû ser dîskê.
Balon û teknîkên din ên vegerandina bîranînê sifir in.

Tiştê ku grafîk bi hejmarên Bîra VM-ya ku bi gelemperî kar dike bi 150 GB RAM-ê re xuya dike.

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Di grafika jêrîn de, VM pirsgirêkên eşkere hene. Li binê grafîkê hûn dikarin bibînin ku ji bo vê VM-ê hemî teknîkên diyarkirî yên ji bo xebata bi RAM-ê hatine bikar anîn. Balon ji bo vê VM-ê ji Serxwekirî pir mezintir e. Bi rastî, VM ji zindî bêtir mirî ye.

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

ESXTOP

Mîna CPU-yê, heke em dixwazin zû rewşa li ser mêvandar, û her weha dînamîkên wê bi navberek heya 2 çirkeyan binirxînin, divê em ESXTOP bikar bînin.

Ekrana Bîra ESXTOP bi bişkoja "m" tê gazî kirin û bi vî rengî xuya dike (zevên B,D,H,J,K,L,O hatine hilbijartin):

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Parametreyên jêrîn dê ji me re balkêş bin:

Mem overcommit avg - nirxa navînî ya zêde abonetiya bîranînê li ser mêvandar ji bo 1, 5 û 15 hûrdem. Ger ew li ser sifirê be, wê hingê ev sedemek e ku meriv li tiştê ku diqewime binêre, lê ne her gav nîşanek pirsgirêkan e.

Di rêzan de PMEM/MB и VMKMEM/MB - agahdariya li ser bîranîna laşî ya serverê û bîranîna ku ji VMkernel re heye. Di nav tiştên balkêş de li vir hûn dikarin nirxa minfree (bi MB), dewleta mêvandar di bîranînê de (di doza me de, bilind) bibînin.

Di rêzê de NUMA/MB hûn dikarin belavkirina RAM-ê li ser nodên NUMA (soketan) bibînin. Di vê nimûneyê de, belavkirina neheq e, ku di prensîbê de ne pir baş e.

Ya jêrîn statîstîkên serverê yên gelemperî ji bo teknîkên vegerandina bîranînê ye:

PSHARE/MB - ev statîstîkên TPS-ê ne;

SWAP/MB - Swap statîstîkên karanîna;

ZIP/MB - statîstîkên berhevkirina rûpela bîranînê;

MEMCTL/MB - Statîstîkên karanîna Balloon Driver.

Ji bo VM-yên kesane, dibe ku em bi agahdariya jêrîn re eleqedar bibin. Min navên VMyan veşart da ku temaşevanan tevlihev nekim :). Ger metrîka ESXTOP di vSphere de mîna jimarvan be, ez ê jimareya têkildar peyda bikim.

MEMSZ - mîqdara bîra ku li ser VM (MB) hatî mîheng kirin.
MEMSZ = GRANT + MCTLSZ + SWCUR + bêdestûr.

PIŞGIRÎ - Di MB de tê dayîn.

TCHD - Di MByte de çalak e.

MCTL? - Ma ajokera Balloon li ser VM-ê hatî saz kirin.

MCTLSZ - Balon ji MB re.

MCTLGT - Mîqdara RAM (MBytes) ya ku ESXi dixwaze ji VM-ê bi riya Ajokera Balloon (Memctl Target) jê rake.

MCTLMAX - Rêjeya herî zêde ya RAM (MBytes) ya ku ESXi dikare ji VM-ê bi navgîniya Ajokera Balloonê veqetîne.

SWCUR - Mîqdara heyî ya RAM (MBytes) ku ji pelê Swap-ê ji VM-ê re hatî veqetandin.

SWGT - mîqdara RAM (MBytes) ya ku ESXi dixwaze ji pelê Swap (Swap Target) bide VM-ê.

Her weha hûn dikarin agahdariya berfirehtir li ser topolojiya NUMA ya VM-ê bi ESXTOP-ê bibînin. Ji bo vê yekê, zeviyên D, G hilbijêrin:

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

BIÇÛK - NUMA nodên ku VM li ser wan e. Li vir hûn dikarin tavilê vm-ya fireh, ku li ser yek girêka NUMA-yê cîh nagirin, bibînin.

NRMEM - VM çend megabyte bîra ji girêka NUMA-ya dûr digire.

NLMEM - VM çend megabyte bîra ji girêka NUMA ya herêmî digire.

N%L - Rêjeya bîranîna VM li ser girêka NUMA ya herêmî (heke ji %80 kêmtir be dibe ku pirsgirêkên performansê derkevin holê).

Bîr li ser hypervisor

Ger hejmarên CPU-yê ji bo hîpervisor bi gelemperî ne ji berjewendiyek taybetî ne, wê hingê bi bîranînê re rewş berevajî ye. Bikaranîna Bîra Bilind a li ser VM-ê her gav pirsgirêkek performansê nîşan nade, lê Bikaranîna Bîra bilind li ser hîpervisorê teknîkên rêveberiya bîranînê vedike û di performansa VM-ê de pirsgirêkan derdixe. Pêdivî ye ku hûn alarmên Bikaranîna Bîra Mêvandar bişopînin û pêşî li ketina VM-yên Swap-ê bigirin.

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Unswap

Ger VM di Swap de were girtin, performansa wê pir kêm dibe. Piştî ku RAM-a belaş li ser mêvandar xuya dibe, şopên balonkirinê û pêvekirinê zû winda dibin, lê makîneya virtual ji bo vegerê ji Swap-ê li RAM-a serverê lez nake.
Berî ESXi 6.0, yekane awayê pêbawer û bilez a rakirina VM-ê ji Swap-ê ji nû ve destpêkirinê bû (bi rasttir, vemirandin / vekirina konteynerê). Bi ESXi 6.0-ê dest pê dike, her çend ne bi tevahî fermî be jî, rêyek xebatkar û pêbawer ji bo rakirina VM-ê ji Swap-ê xuya bûye. Di yek ji konferansan de, min karî bi yek ji endezyarên VMware-ê yên berpirsiyarê CPU Scheduler re biaxivim. Wî piştrast kir ku rêbaz pir bikêr û ewledar e. Di ezmûna me de jî tu pirsgirêk jê re tune bûn.

Fermanên rastîn ên ji bo rakirina VM-ê ji Swap-ê şirove kirin Duncan Epping. Ez ê danasîna berfireh dubare nekim, ez ê tenê mînakek karanîna wê bidim. Wekî ku hûn di dîmenderê de dibînin, demek piştî pêkanîna fermana diyarkirî, Swap li ser VM winda dibe.

Analîzkirina performansa VM di VMware vSphere de. Beş 2: Bîranîn

Serişteyên ji bo birêvebirina RAM li ESXi

Di dawiyê de, li vir çend serişte hene ku dê ji we re bibin alîkar ku hûn ji ber RAM-ê pirsgirêkên performansa VM-ê dûr bixin:

  • Ji abonetiya zêde ya RAM-ê di komên hilberîner de dûr bixin. Tête pêşniyar kirin ku her gav ~20-30% ji bîra belaş di komê de hebe da ku DRS (û rêvebir) cîhê manevrayê hebe û VM di dema koçberiyê de neçin Swap. Di heman demê de, marjîna tolerasyona xeletiyê ji bîr nekin. Dema ku yek server têk diçe û VM bi karanîna HA-yê ji nû ve tê nûve kirin, ne xweş e, hin makîneyan jî diçin Swap.
  • Di binesaziyên pir hevgirtî de, hewl bidin ku VM-yên bi bîranîna ji nîvê bîranîna mêvandar mezintir NE biafirînin. Ev dîsa dê ji DRS re bibe alîkar ku makîneyên virtual li ser serverên komê bêyî pirsgirêk belav bike. Ev qaîde, bê guman, ne gerdûnî ye :).
  • Bala xwe bidin Alarm Bikaranîna Bîra Mêvandar.
  • Ji bîr nekin ku VMware Tools li ser VM-ê saz bikin û Balooning nemirînin.
  • Bifikirin ku Inter-VM TPS çalak bikin û Rûpelên Mezin di VDI û hawîrdorên ceribandinê de neçalak bikin.
  • Ger VM bi pirsgirêkên performansê re rû bi rû ye, kontrol bikin ka ew bîranîna ji girêka NUMA-ya dûr bikar tîne.
  • Bi qasî ku pêkan VM-ê ji Swapê derxînin! Di nav tiştên din de, heke VM di Swap de be, pergala hilanînê ji ber sedemên diyar diêşe.

Ew ji bo min hemî li ser RAM-ê ye. Li jêr gotarên têkildar hene ji bo kesên ku dixwazin kûrtir biçin. Gotara paşîn dê ji storaj re were veqetandin.

Girêdanên bikarhênerhttp://www.yellow-bricks.com/2015/03/02/what-happens-at-which-vsphere-memory-state/
http://www.yellow-bricks.com/2013/06/14/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up/
https://www.vladan.fr/vmware-transparent-page-sharing-tps-explained/
http://www.yellow-bricks.com/2016/06/02/memory-pages-swapped-can-unswap/
https://kb.vmware.com/s/article/1002586
https://www.vladan.fr/what-is-vmware-memory-ballooning/
https://kb.vmware.com/s/article/2080735
https://kb.vmware.com/s/article/2017642
https://labs.vmware.com/vmtj/vmware-esx-memory-resource-management-swap
https://blogs.vmware.com/vsphere/2013/10/understanding-vsphere-active-memory.html
https://www.vmware.com/support/developer/converter-sdk/conv51_apireference/memory_counters.html
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-65-monitoring-performance-guide.pdf

Source: www.habr.com

Add a comment