Mangawat: kinsa nangawat sa oras sa CPU gikan sa mga virtual machine

Mangawat: kinsa nangawat sa oras sa CPU gikan sa mga virtual machine

Hello! Gusto nako isulti kanimo sa yano nga sinultian bahin sa mga mekaniko sa pagpangawat sa sulod sa mga virtual machine ug bahin sa pipila nga dili klaro nga mga artifact nga nahibal-an namon sa panahon sa panukiduki niini, nga kinahanglan nako nga i-dive sa usa ka teknikal nga direktor sa usa ka platform sa panganod. Mail.ru Cloud Solutions. Ang plataporma nagdagan sa KVM.

Ang oras sa pagpangawat sa CPU mao ang panahon diin ang virtual machine wala makadawat mga kapanguhaan sa processor alang sa pagpatuman niini. Kini nga panahon giihap lamang sa mga operating system sa bisita sa mga virtualization environment. Ang mga hinungdan kung asa moadto ang kadaghanan nga gigahin nga mga kapanguhaan, sama sa kinabuhi, dili klaro. Apan nakahukom kami nga mahibal-an kini, ug nagpahigayon pa gani og daghang mga eksperimento. Dili nga nahibal-an na namon ang tanan bahin sa pagpangawat, apan isulti namon kanimo ang usa ka butang nga makapaikag karon.

1. Unsa ang pagpangawat

Busa, ang pagpangawat usa ka metric nga nagpaila sa kakulang sa oras sa processor alang sa mga proseso sulod sa usa ka virtual machine. Ingon sa gihulagway sa KVM kernel patchAng stealth mao ang panahon diin ang hypervisor nagpatuman sa ubang mga proseso sa host OS bisan kung gipila niini ang proseso sa virtual machine alang sa pagpatuman. Sa ato pa, ang pagpangawat gikalkula isip ang kalainan tali sa oras kung kanus-a ang proseso andam na nga ipatuman ug ang oras kung ang proseso gigahin oras sa processor.

Ang virtual machine kernel nakadawat sa steal metric gikan sa hypervisor. Sa parehas nga oras, ang hypervisor wala magtino kung unsa ang ubang mga proseso nga gipadagan niini, kini yano nga nag-ingon "samtang ako busy, dili ako makahatag kanimo oras." Sa KVM, suporta alang sa pagpangawat kalkulasyon gidugang sa mga patsa. Adunay duha ka importanteng punto dinhi:

  • Ang virtual machine nakakat-on bahin sa pagpangawat gikan sa hypervisor. Kana mao, gikan sa punto sa panglantaw sa mga pagkawala, alang sa mga proseso sa virtual machine sa iyang kaugalingon kini mao ang usa ka dili direkta nga pagsukod nga mahimong subject sa nagkalain-laing mga pagtuis.
  • Ang hypervisor wala magpaambit sa impormasyon sa virtual machine mahitungod sa unsa pa ang gibuhat niini - ang nag-unang butang mao nga wala kini maggahin ug panahon niini. Tungod niini, ang virtual machine mismo dili makamatikod sa mga pagtuis sa indikasyon sa pagpangawat, nga mahimong masusi pinaagi sa kinaiya sa mga proseso nga nakigkompetensya.

2. Unsay makaapekto sa pagpangawat

2.1. Pagkawat kalkulasyon

Sa tinuud, ang pagpangawat gikalkula nga parehas sa normal nga oras sa paggamit sa CPU. Wala’y daghang kasayuran kung giunsa pagkonsiderar ang pag-recycle. Tingali tungod kay giisip sa kadaghanan nga kini nga pangutana klaro. Apan adunay mga lit-ag usab dinhi. Aron mapamilyar ang imong kaugalingon niini nga proseso, mahimo nimong basahon artikulo ni Brendan Gregg: mahibal-an nimo ang bahin sa daghang mga nuances kung nagkalkula sa paggamit ug bahin sa mga sitwasyon kung kini nga pagkalkula mahimong sayup tungod sa mga musunud nga hinungdan:

  • Ang processor nag-overheat, hinungdan sa paglaktaw sa mga siklo.
  • I-enable/disable ang turbo boost, nga nagbag-o sa frequency sa orasan sa processor.
  • Usa ka pagbag-o sa gitas-on sa hiwa sa oras nga mahitabo kung gigamit ang mga teknolohiya nga makaluwas sa gahum sa processor sama sa SpeedStep.
  • Ang problema sa pagkalkula sa kasagaran: ang pagbanabana sa usa ka minuto nga paggamit sa 80% makatago sa usa ka mubo nga panahon nga pagbuto sa 100%.
  • Ang spin lock maoy hinungdan nga mabawi ang processor, apan ang proseso sa user walay makita nga pag-uswag sa pagpatuman niini. Ingon usa ka sangputanan, ang kalkulado nga paggamit sa processor pinaagi sa proseso mahimong usa ka gatos nga porsyento, bisan kung ang proseso dili pisikal nga magkonsumo sa oras sa processor.

Wala koy nakit-an nga artikulo nga naghulagway sa susama nga kalkulasyon sa pagpangawat (kung nahibal-an nimo, ipaambit kini sa mga komentaryo). Apan, sa paghukom sa source code, ang mekanismo sa kalkulasyon parehas sa pag-recycle. Sa yano, laing counter ang gidugang sa kernel, direkta alang sa proseso sa KVM (proseso sa virtual machine), nga nag-ihap sa gidugayon sa proseso sa KVM nga naghulat sa oras sa CPU. Gikuha sa counter ang kasayuran bahin sa processor gikan sa espesipikasyon niini ug gisusi kung ang tanan nga mga marka niini gigamit sa proseso sa virtual machine. Kung mao ra kana, nan atong hunahunaon nga ang processor okupado lamang sa proseso sa virtual machine. Kung dili, gipahibalo namon nga ang processor adunay lain nga gibuhat, ang pagpangawat nagpakita.

Ang proseso sa pag-ihap sa pagpangawat gipailalom sa parehas nga mga problema sama sa regular nga pag-ihap sa pag-recycle. Dili sa pag-ingon nga ang ingon nga mga problema kanunay nga makita, apan kini makapaluya.

2.2. Mga tipo sa virtualization sa KVM

Sa kinatibuk-an, adunay tulo ka matang sa virtualization, nga ang tanan gisuportahan sa KVM. Ang mekanismo sa pagpangawat mahitabo mahimong magdepende sa matang sa virtualization.

Broadcast. Sa kini nga kaso, ang operasyon sa virtual machine operating system nga adunay pisikal nga hypervisor nga mga aparato mahitabo sama niini:

  1. Ang guest operating system nagpadala ug command sa guest device niini.
  2. Ang guest device driver makadawat sa sugo, makamugna og hangyo alang sa device BIOS ug ipadala kini ngadto sa hypervisor.
  3. Ang proseso sa hypervisor naghubad sa command to command para sa pisikal nga device, nga naghimo niini, lakip sa ubang mga butang, nga mas luwas.
  4. Gidawat sa drayber sa pisikal nga aparato ang giusab nga mando ug gipadala kini sa pisikal nga aparato mismo.
  5. Ang mga resulta sa pagpatuman sa mga sugo mobalik sa samang dalan.

Ang bentaha sa paghubad mao nga kini nagtugot kanimo sa pagsundog sa bisan unsang aparato ug wala magkinahanglan espesyal nga pag-andam sa kernel sa operating system. Apan kinahanglan nimo nga bayran kini, una sa tanan, sa tulin.

Virtualization sa hardware. Sa kini nga kaso, ang aparato sa lebel sa hardware nakasabut sa mga mando gikan sa operating system. Kini ang labing paspas ug labing maayo nga paagi. Apan, ikasubo, wala kini gisuportahan sa tanan nga pisikal nga mga aparato, hypervisors ug mga operating system sa bisita. Sa pagkakaron, ang nag-unang mga himan nga nagsuporta sa hardware virtualization mao ang mga processor.

Paravirtualization. Ang labing komon nga kapilian alang sa device virtualization sa KVM ug sa kasagaran ang labing komon nga virtualization mode alang sa bisita operating system. Ang pagkatalagsaon niini mao nga ang pagtrabaho sa pipila nga mga subsystem sa hypervisor (pananglitan, sa network o disk stack) o ang alokasyon sa mga panid sa panumduman mahitabo gamit ang hypervisor API, nga wala maghubad sa mga ubos nga lebel nga mga mando. Ang disbentaha niini nga pamaagi sa virtualization mao nga ang kernel operating system sa bisita kinahanglan nga usbon aron kini makapakigsulti sa hypervisor gamit kini nga API. Apan kini kasagarang masulbad pinaagi sa pag-instalar sa mga espesyal nga drayber sa guest operating system. Sa KVM kini nga API gitawag virtio API.

Uban sa paravirtualization, kon itandi sa pagsibya, ang agianan sa pisikal nga device makunhoran pinaagi sa pagpadala sa mga sugo direkta gikan sa virtual machine ngadto sa proseso sa hypervisor sa host. Gitugotan ka niini nga mapadali ang pagpatuman sa tanan nga mga panudlo sa sulod sa virtual machine. Sa KVM, kini gihimo sa virtio API, nga magamit lamang sa pipila ka mga himan, sama sa network o disk adapter. Mao kini ang hinungdan nga ang mga drayber sa virtio gi-install sa sulod sa mga virtual machine.

Ang downside niini nga acceleration mao nga dili tanan nga mga proseso nga nagdagan sa sulod sa virtual machine nagpabilin sa sulod niini. Naghimo kini og pipila ka mga espesyal nga epekto nga mahimong moresulta sa pagpasanay sa pagpangawat. Girekomenda ko ang pagsugod sa usa ka detalyado nga pagtuon sa kini nga isyu sa Usa ka API alang sa virtual nga I/O: virtio.

2.3. "Taas" nga pag-iskedyul

Ang usa ka virtual nga makina sa usa ka hypervisor, sa tinuud, usa ka ordinaryo nga proseso nga nagsunod sa mga balaod sa pag-iskedyul (pag-apod-apod sa kapanguhaan tali sa mga proseso) sa kernel sa Linux, busa tan-awon naton kini.

Gigamit sa Linux ang gitawag nga CFS, Completely Fair Scheduler, nga nahimong default scheduler sukad sa kernel 2.6.23. Aron masabtan kini nga algorithm, mahimo nimong basahon ang Linux Kernel Architecture o ang source code. Ang esensya sa CFS mao ang pag-apod-apod sa oras sa processor tali sa mga proseso depende sa gidugayon sa ilang pagpatuman. Ang mas daghang oras sa CPU nga gikinahanglan sa usa ka proseso, mas gamay ang oras sa CPU nga madawat niini. Gisiguro niini nga ang tanan nga mga proseso gipatuman "patas" - aron ang usa ka proseso dili kanunay nga mag-okupar sa tanan nga mga processor, ug ang ubang mga proseso mahimo usab nga ipatuman.

Usahay kini nga paradigma mosangpot sa makapaikag nga mga artifact. Ang dugay na nga mga tiggamit sa Linux lagmit nakahinumdom sa pagyelo sa usa ka regular nga editor sa teksto sa usa ka desktop samtang nagpadagan sa mga resource-intensive nga aplikasyon sama sa usa ka compiler. Nahitabo kini tungod kay ang mga non-resource-intensive nga buluhaton sa mga desktop application nakigkompetensya sa mga resource-intensive nga buluhaton, sama sa compiler. Naghunahuna ang CFS nga dili kini patas, mao nga matag karon ug unya gipahunong niini ang editor sa teksto ug gitugotan ang processor nga magdumala sa mga buluhaton sa compiler. Gitul-id kini gamit ang mekanismo sched_autogroup, apan daghang uban pang mga bahin sa pag-apod-apod sa oras sa processor tali sa mga buluhaton nagpabilin. Sa tinuud, dili kini usa ka istorya kung unsa ka daotan ang tanan sa CFS, apan usa ka pagsulay sa pagdani sa atensyon sa kamatuoran nga ang "patas" nga pag-apod-apod sa oras sa processor dili ang labing gamay nga buluhaton.

Ang laing importante nga punto sa scheduler mao ang preemption. Gikinahanglan kini aron matangtang ang proseso sa pagngisi gikan sa processor ug tugotan ang uban nga magtrabaho. Ang proseso sa ejection gitawag nga context switching. Sa kini nga kaso, ang tibuuk nga konteksto sa buluhaton gipreserbar: ang kahimtang sa stack, mga rehistro, ug uban pa, pagkahuman ang proseso gipadala aron maghulat, ug usa pa ang mopuli. Kini usa ka mahal nga operasyon alang sa OS ug panagsa ra nga gigamit, apan wala’y kinaiyanhon nga sayup niini. Ang kanunay nga pagbalhin sa konteksto mahimong magpakita sa usa ka problema sa OS, apan kasagaran kini padayon ug wala magpakita bisan unsa nga partikular.

Ang ingon ka taas nga istorya gikinahanglan aron ipatin-aw ang usa ka kamatuoran: ang daghang mga kapanguhaan sa processor nga gisulayan sa usa ka proseso nga magamit sa usa ka matinud-anon nga scheduler sa Linux, mas paspas kini nga mapahunong aron ang ubang mga proseso mahimo usab nga molihok. Kung kini husto o dili usa ka komplikado nga pangutana nga mahimong masulbad sa lahi nga paagi sa ilawom sa lainlaing mga karga. Sa Windows, hangtod karon, ang scheduler naka-focus sa prayoridad nga pagproseso sa mga aplikasyon sa desktop, nga mahimong hinungdan sa pag-freeze sa mga proseso sa background. Ang Sun Solaris adunay lima ka lainlaing klase sa mga scheduler. Sa dihang gilusad namo ang virtualization, gidugang namo ang ikaunom, Taas nga bahin scheduler, tungod kay ang miaging lima wala nagtrabaho sa igo nga paagi sa virtualization sa Solaris Zones. Girekomenda ko ang pagsugod sa usa ka detalyado nga pagtuon sa kini nga isyu sa mga libro sama sa Solaris Internals: Solaris 10 ug OpenSolaris Kernel Architecture o Pagsabut sa Linux Kernel.

2.4. Unsaon pagmonitor sa pagpangawat?

Ang pagmonitor sa pagpangawat sa sulod sa usa ka virtual machine, sama sa bisan unsang ubang sukatan sa processor, yano ra: mahimo nimong gamiton ang bisan unsang tool sa sukatan sa processor. Ang nag-unang butang mao nga ang virtual machine naa sa Linux. Sa pipila ka rason ang Windows wala maghatag niini nga impormasyon ngadto sa mga tiggamit niini. πŸ™

Mangawat: kinsa nangawat sa oras sa CPU gikan sa mga virtual machine
Output sa top command: mga detalye sa load sa processor, sa pinakatuo nga kolum - mangawat

Ang kalisud mitumaw sa pagsulay sa pagkuha niini nga impormasyon gikan sa hypervisor. Mahimo nimong sulayan ang pagtagna sa pagpangawat sa host machine, pananglitan, gamit ang Load Average (LA) parameter - ang kasagaran nga kantidad sa gidaghanon sa mga proseso nga naghulat sa pila sa pagpatuman. Ang pamaagi sa pagkalkula niini nga parameter dili yano, apan sa kinatibuk-an, kung ang LA na-normalize sa gidaghanon sa mga thread sa processor labaw pa sa 1, kini nagpakita nga ang Linux server napuno sa usa ka butang.

Unsa ang gihulat niining tanan nga mga proseso? Ang klaro nga tubag mao ang processor. Apan ang tubag dili hingpit nga husto, tungod kay usahay ang processor libre, apan ang LA wala’y sukod. Hinumdomi kung giunsa ang NFS nahulog ug kung giunsa ang pagtubo sa LA. Ang sama nga mahitabo sa usa ka disk ug uban pang mga input/output device. Apan sa tinuud, ang mga proseso mahimong maghulat sa katapusan sa bisan unsang kandado, pisikal man, nga adunay kalabotan sa usa ka aparato nga I/O, o lohikal, sama sa usa ka mutex. Naglakip usab kini sa pag-lock sa lebel sa hardware (sama nga tubag gikan sa disk), o lohika (ang gitawag nga locking primitives, nga naglakip sa usa ka hugpong sa mga entidad, mutex adaptive ug spin, semaphores, condition variables, rw lock, ipc lock. ...).

Ang laing bahin sa LA mao nga kini giisip nga usa ka operating system average. Pananglitan, 100 ka proseso ang nakigkompetensya alang sa usa ka file, ug dayon LA=50. Ang ingon ka dako nga kantidad daw nagpaila nga ang operating system dili maayo. Apan alang sa uban nga hiwi nga sinulat nga code, kini mahimo nga usa ka normal nga kahimtang, bisan pa sa kamatuoran nga kini lamang ang dili maayo, ug ang ubang mga proseso sa operating system dili mag-antos.

Tungod niini nga aberids (ug sa dili moubos sa usa ka minuto), ang pagtino sa bisan unsang butang pinaagi sa LA indicator dili ang labing magantihon nga buluhaton, nga adunay dili sigurado nga mga sangputanan sa mga piho nga kaso. Kung sulayan nimo kini mahibal-an, imong makita nga ang mga artikulo sa Wikipedia ug uban pang magamit nga mga kapanguhaan naghulagway lamang sa labing yano nga mga kaso, nga wala’y lawom nga pagpasabut sa proseso. Gipadala nako ang tanan nga interesado, pag-usab, dinhi kang Brendan Gregg  - sunda ang mga link sa ubos. Kinsa ang tapolan mosulti og English - hubad sa iyang popular nga artikulo bahin sa LA.

3. Espesyal nga mga epekto

Karon atong tan-awon ang mga nag-unang kaso sa pagpangawat nga atong nasugatan. Sultihan ko ikaw kung giunsa nila pagsunod gikan sa tanan nga nahisgutan ug kung giunsa kini nalangkit sa mga timailhan sa hypervisor.

Pag-recycle. Ang pinakayano ug kasagaran: ang hypervisor gigamit na usab. Sa tinuud, adunay daghang mga nagdagan nga virtual machine, taas nga konsumo sa processor sa sulod niini, daghang kompetisyon, ang paggamit sa LA labaw pa sa 1 (gi-normalize sa mga thread sa processor). Ang tanan sa sulod sa tanan nga virtual nga mga makina mohinay. Ang pagpangawat nga gipasa gikan sa hypervisor nagkadako usab, gikinahanglan nga ipanghatag pag-usab ang load o i-off ang usa ka tawo. Sa kinatibuk-an, ang tanan makatarunganon ug masabtan.

Paravirtualization kumpara sa Single Instance. Adunay usa lamang ka virtual nga makina sa hypervisor; kini nag-ut-ot sa gamay nga bahin niini, apan nagpatunghag dako nga I/O load, pananglitan sa disk. Ug gikan sa usa ka lugar usa ka gamay nga pagpangawat ang makita niini, hangtod sa 10% (sama sa gipakita sa daghang mga eksperimento).

Ang kaso mao ang makapaikag. Ang pagpangawat makita dinhi tungod sa pag-block sa lebel sa mga paravirtualized nga mga drayber. Ang usa ka interrupt gihimo sulod sa virtual machine, giproseso sa drayber ug gipadala ngadto sa hypervisor. Tungod sa interrupt nga pagdumala sa hypervisor, alang sa virtual machine kini morag gipadala nga hangyo, andam na kini sa pagpatuman ug naghulat sa processor, apan wala kini gihatag nga oras sa processor. Ang virtual nga babaye naghunahuna nga kini nga panahon gikawat.

Kini mahitabo sa higayon nga ang buffer gipadala, kini moadto sa kernel luna sa hypervisor, ug kita magsugod sa paghulat niini. Bisan pa, gikan sa punto sa panglantaw sa virtual machine, siya kinahanglan nga mobalik dayon. Busa, sumala sa algorithm sa pagkalkula sa pagpangawat, kini nga panahon giisip nga gikawat. Lagmit, sa niini nga sitwasyon mahimo nga adunay uban nga mga mekanismo (pananglitan, pagproseso sa uban nga mga tawag sa sys), apan sila kinahanglan nga dili kaayo lahi.

Ang scheduler kumpara sa daghang mga virtual nga makina. Kung ang usa ka virtual machine nag-antos sa pagpangawat labaw pa sa uban, kini tungod sa scheduler. Kon mas daghan ang proseso nga makarga sa processor, mas sayo nga ang scheduler mosipa niini aron ang uban makatrabaho usab. Kung gamay ra ang mukonsumo sa virtual nga makina, dili kaayo makit-an ang pagpangawat: ang proseso niini matinud-anon nga naglingkod ug naghulat, kinahanglan naton hatagan kini daghang oras. Kung ang usa ka virtual nga makina makahimo sa labing kadaghan nga load sa tanan nga mga cores niini, kanunay kini nga gipalayas gikan sa processor ug gisulayan nila nga dili hatagan kini daghang oras.

Mas grabe pa kung ang mga proseso sa sulod sa virtual machine maningkamot nga makakuha og daghang processor tungod kay dili nila makaya ang pagproseso sa datos. Unya ang operating system sa hypervisor, tungod sa matinud-anon nga pag-optimize, maghatag gamay ug gamay nga oras sa processor. Kini nga proseso mahitabo sama sa usa ka avalanche, ug mangawat paglukso ngadto sa kalangitan, bisan pa nga ang ubang mga virtual nga makina tingali halos dili makamatikod niini. Ug ang daghang mga cores, mas grabe ang naapektuhan nga makina. Sa laktud, ang mga virtual machine nga puno kaayo nga adunay daghang mga core ang labing nag-antos.

Ubos nga LA, apan adunay mangawat. Kung ang LA gibana-bana nga 0,7 (nga mao, ang hypervisor daw kulang sa karga), apan ang pagpangawat makita sulod sa indibidwal nga mga virtual machine:

  • Ang kapilian nga adunay paravirtualization nga gihulagway na sa ibabaw. Ang virtual machine makadawat ug metrics nga nagpaila sa pagpangawat, bisan kung maayo ang hypervisor. Sumala sa mga resulta sa among mga eksperimento, kini nga kapilian sa pagpangawat dili molapas sa 10% ug dili kinahanglan nga adunay hinungdanon nga epekto sa paghimo sa mga aplikasyon sa sulod sa virtual machine.
  • Ang parameter sa LA sayop ang pagkalkulo. Sa mas tukma, sa matag espesipikong gutlo kini gikalkula sa husto, apan sa dihang gi-average sa usa ka minuto kini nahimong ubos. Pananglitan, kung ang usa ka virtual machine matag ikatulo nga bahin sa hypervisor mogamit sa tanan nga mga processor niini sa eksaktong tunga sa minuto, nan ang LA matag minuto sa hypervisor mahimong 0,15; upat ka ingon nga mga virtual nga makina nga dungan nga nagtrabaho maghatag 0,6. Ug ang kamatuoran nga sulod sa tunga sa minuto sa matag usa kanila adunay usa ka ihalas nga pagpangawat sa 25% sumala sa LA indicator dili na mabira.
  • Usab, tungod sa scheduler nga nakahukom nga adunay usa nga nagkaon ug daghan ug gipaabot nga adunay maghulat. Sa kasamtangan, akong ibalhin ang konteksto, pagdumala sa mga interrupts ug pag-atiman sa ubang importante nga mga butang sa sistema. Ingon usa ka sangputanan, ang pipila nga mga virtual machine wala’y nakita nga mga problema, samtang ang uban nakasinati og grabe nga pagkadaot sa pasundayag.

4. Ubang mga pagtuis

Adunay usa ka milyon nga dugang nga mga hinungdan sa pagtuis sa patas nga pagbalik sa oras sa processor sa usa ka virtual nga makina. Pananglitan, ang hyperthreading ug NUMA nagpaila sa mga kalisdanan sa mga kalkulasyon. Hingpit nilang gilibog ang pagpili sa kernel alang sa pagpatuman sa proseso, tungod kay ang scheduler naggamit sa mga coefficients - mga gibug-aton, nga naghimo sa kalkulasyon nga mas lisud sa pagbalhin sa konteksto.

Adunay mga pagtuis tungod sa mga teknolohiya sama sa turbo boost o, sa kasukwahi, energy saving mode, nga, kung magkuwenta sa paggamit, mahimong artipisyal nga madugangan o makunhuran ang frequency o bisan ang time slice sa server. Ang pagpagana sa turbo boost makapakunhod sa performance sa usa ka processor thread tungod sa pagsaka sa performance sa lain. Niining higayona, ang impormasyon bahin sa kasamtangan nga frequency sa processor wala ipadala ngadto sa virtual machine, ug kini nagtuo nga adunay usa nga nangawat sa iyang panahon (pananglitan, kini mihangyo sa 2 GHz, apan nakadawat sa katunga niana).

Sa kinatibuk-an, mahimong adunay daghang mga hinungdan sa pagtuis. Mahimong makakita ka og lain sa usa ka partikular nga sistema. Mas maayo nga magsugod sa mga libro nga akong gihatag nga mga link sa ibabaw, ug pagkuha sa mga estadistika gikan sa hypervisor gamit ang mga gamit sama sa perf, sysdig, systemtap, diin dosena.

5. Mga konklusyon

  1. Ang pila ka kantidad sa pagpangawat mahimong mahitabo tungod sa paravirtualization, ug kini makonsiderar nga normal. Gisulat nila sa Internet nga kini nga kantidad mahimong 5-10%. Nagdepende sa mga aplikasyon sa sulod sa virtual machine ug sa load nga gibutang niini sa iyang pisikal nga mga himan. Dinhi hinungdanon nga hatagan pagtagad kung unsa ang gibati sa mga aplikasyon sa sulod sa mga virtual machine.
  2. Ang ratio sa load sa hypervisor ug pagpangawat sulod sa virtual machine dili kanunay tin-aw nga magkalambigit; ang duha ka banabana sa pagpangawat mahimong sayop sa piho nga mga sitwasyon ubos sa lain-laing mga load.
  3. Ang scheduler adunay dili maayo nga kinaiya sa mga proseso nga daghang pangutana. Siya naningkamot sa paghatag ug gamay niadtong nangayo ug dugang. Ang dagkong mga virtual machine daotan.
  4. Ang usa ka gamay nga pagpangawat mahimong naandan bisan kung wala ang paravirtualization (gikonsiderar ang pagkarga sa sulod sa virtual machine, ang mga kinaiya sa pagkarga sa mga silingan, pag-apod-apod sa load sa mga hilo ug uban pang mga hinungdan).
  5. Kung gusto nimo mahibal-an ang pagpangawat sa usa ka piho nga sistema, kinahanglan nimo nga susihon ang lainlaing mga kapilian, pagkolekta mga sukatan, pag-analisar pag-ayo ug hunahunaa kung giunsa ang parehas nga pag-apod-apod sa karga. Posible ang mga pagtipas gikan sa bisan unsang mga kaso, nga kinahanglan kumpirmahon sa eksperimento o tan-awon sa kernel debugger.

Source: www.habr.com

Idugang sa usa ka comment