ʻaihue: nāna e ʻaihue i ka manawa hana mai nā mīkini virtual

ʻaihue: nāna e ʻaihue i ka manawa hana mai nā mīkini virtual

Aloha! Makemake wau e haʻi aku iā ʻoe ma nā ʻōlelo maʻalahi e pili ana i nā mīkini o ka ʻaihue i loko o nā mīkini virtual a e pili ana i kekahi mau mea i ʻike ʻole ʻia a mākou i ʻike ai i ka wā o kāna noiʻi ʻana, aʻu i luʻu ai i loko ma ke ʻano he alakaʻi ʻenehana o kahi kahua ao. Mail.ru Cloud Solutions. Holo ka paepae ma KVM.

ʻO ka manawa ʻaihue CPU ʻo ia ka manawa i loaʻa ʻole ai i ka mīkini virtual nā kumuwaiwai no kāna hoʻokō. Heluhelu wale ʻia kēia manawa ma nā ʻōnaehana lawelawe malihini i nā kaiapuni virtualization. ʻO nā kumu o kahi e hele ai kēia mau waiwai i hoʻokaʻawale ʻia, e like me ke ola, ʻaʻole maopopo. Akā ua hoʻoholo mākou e noʻonoʻo iā ia, a ua hana pū kekahi mau hoʻokolohua. ʻAʻole mākou i ʻike i nā mea āpau e pili ana i ka ʻaihue, akā e haʻi mākou iā ʻoe i kahi mea hoihoi i kēia manawa.

1. He aha ka aihue

No laila, ʻo ka ʻaihue kahi metric e hōʻike ana i ka nele o ka manawa kaʻina hana no nā kaʻina hana i loko o kahi mīkini virtual. E like me ka wehewehe ʻana i ka KVM kernel patchʻO Stealth ka manawa e hoʻokō ai ka hypervisor i nā kaʻina hana ʻē aʻe ma ka OS host ʻoiai ua hoʻonohonoho ʻo ia i ke kaʻina mīkini virtual no ka hoʻokō. ʻO ia hoʻi, ua helu ʻia ka ʻaihue ma ke ʻano he ʻokoʻa ma waena o ka manawa i mākaukau ai ke kaʻina hana e hoʻokō a me ka manawa i hoʻokaʻawale ʻia ke kaʻina hana manawa.

Loaʻa i ka kernel mīkini virtual ka metric ʻaihue mai ka hypervisor. I ka manawa like, ʻaʻole ʻōlelo pololei ka hypervisor i nā kaʻina hana ʻē aʻe e holo nei, ʻōlelo wale ʻo ia "ʻoiai wau e hana nei, ʻaʻole hiki iaʻu ke hāʻawi manawa iā ʻoe." Ma KVM, ua hoʻohui ʻia ke kākoʻo no ka helu ʻaihue nā pā. ʻElua mau mea nui ma ʻaneʻi:

  • Aʻo ka mīkini virtual e pili ana i ka ʻaihue mai ka hypervisor. ʻO ia hoʻi, mai ka manaʻo o nā poho, no nā kaʻina hana ma ka mīkini virtual ponoʻī kēia he ana indirect hiki ke hoʻopili ʻia i nā distortions like ʻole.
  • ʻAʻole kaʻana like ka hypervisor i ka ʻike me ka mīkini virtual e pili ana i nā mea ʻē aʻe e hana nei - ʻo ka mea nui ʻaʻole ia e hāʻawi manawa iā ia. Ma muli o kēia, ʻaʻole hiki i ka mīkini virtual ke ʻike i nā distortions i ka hōʻailona ʻaihue, hiki ke loiloi ʻia e ke ʻano o nā kaʻina hoʻokūkū.

2. He aha ka pili ana i ka aihue

2.1. ʻaihue helu

ʻO ka mea nui, helu ʻia ka ʻaihue e like me ka manawa hoʻohana CPU maʻamau. ʻAʻole nui ka ʻike e pili ana i ke ʻano o ka hana hou ʻana. Ma muli paha o ka manaʻo o ka hapa nui o kēia nīnau he maopopo. Akā, aia kekahi mau lua ma ʻaneʻi. No ka hoʻomaʻamaʻa ʻana iā ʻoe iho me kēia kaʻina hana, hiki iā ʻoe ke heluhelu ʻatikala na Brendan Gregg: e aʻo ʻoe e pili ana i ka nui o nā nuances i ka helu ʻana i ka hoʻohana ʻana a e pili ana i nā kūlana i hewa ai kēia helu no nā kumu penei:

  • Hoʻopau wela ka mea hana, e hoʻolele ai nā pōʻai.
  • Ho'ā a hoʻopau i ka turbo boost, e hoʻololi i ka wikiwiki o ka uaki.
  • He hoʻololi i ka lōʻihi o ka ʻāpana manawa i ka wā e hoʻohana ai i nā ʻenehana mālama mana e like me SpeedStep.
  • ʻO ka pilikia me ka helu ʻana i ka awelika: ʻo ka manaʻo ʻana i ka hoʻohana ʻana i hoʻokahi minuke ma 80% hiki ke hūnā i kahi pōkole pōkole o 100%.
  • Hoʻihoʻi hou ʻia ke kaʻina hana ma ka laka wili, akā ʻaʻole ʻike ka mea hoʻohana i ka holomua o kāna hoʻokō. ʻO ka hopena, ʻo ka hoʻohana ʻana i ka mea hana i helu ʻia e ke kaʻina hana he hoʻokahi haneli pakeneka, ʻoiai ʻaʻole e hoʻopau kino ke kaʻina hana i ka manawa hana.

ʻAʻole i loaʻa iaʻu kahi ʻatikala e wehewehe ana i kahi helu like no ka ʻaihue (inā ʻike ʻoe, e kaʻana like i nā manaʻo). Akā, i ka hoʻoholo ʻana ma ke kumu kumu, ua like ka mīkini helu me ka hana hou. Maʻalahi, hoʻohui ʻia kekahi counter i loko o ka kernel, pololei no ke kaʻina KVM (kaʻina mīkini virtual), e helu ana i ka lōʻihi o ke kaʻina KVM e kali ana i ka manawa CPU. Lawe ka counter i ka ʻike e pili ana i ke kaʻina hana mai kāna kikoʻī a nānā inā hoʻohana ʻia kāna mau kiko āpau e ke kaʻina mīkini virtual. Inā ʻo ia wale nō, a laila manaʻo mākou ua paʻa wale ka kaʻina hana me ke kaʻina mīkini virtual. A i ʻole, hōʻike mākou e hana ana ka mea hana i kahi mea ʻē aʻe, ʻike ʻia ka ʻaihue.

ʻO ke kaʻina hana helu ʻaihue e pili ana i nā pilikia like me ka helu hoʻohana maʻamau. ʻAʻole ia e ʻōlelo e ʻike pinepine ʻia kēlā mau pilikia, akā naʻe lākou e hoʻonāwaliwali.

2.2. Nā ʻano o ka virtualization ma KVM

ʻO ka ʻōlelo ākea, ʻekolu mau ʻano o ka virtualization, ʻo ia mau mea āpau i kākoʻo ʻia e KVM. Hiki ke hilinaʻi ke ʻano o ka ʻaihue ʻana i ke ʻano o ka virtualization.

Pāpāaho. I kēia hihia, ʻo ka hana ʻana o ka ʻōnaehana hana mīkini virtual me nā hāmeʻa hypervisor kino e like me kēia:

  1. Hoʻouna ka ʻōnaehana lawelawe malihini i kahi kauoha i kāna mea hoʻokipa.
  2. Loaʻa i ka mea hoʻokele kaʻa malihini ke kauoha, hoʻopuka i kahi noi no ka BIOS device a hoʻouna iā ia i ka hypervisor.
  3. ʻO ke kaʻina hana hypervisor e unuhi i ke kauoha e kauoha no ke kino kino, e hana ai, ma waena o nā mea ʻē aʻe, i ʻoi aku ka palekana.
  4. Ua ʻae ka mea hoʻokele kino i ke kauoha i hoʻololi ʻia a hoʻouna iā ia i ka hāmeʻa kino ponoʻī.
  5. Hoʻi nā hopena o ka hoʻokō ʻana i nā kauoha ma ke ala like.

ʻO ka maikaʻi o ka unuhi ʻana ʻo ia ka mea e hiki ai iā ʻoe ke hoʻohālike i kekahi mea hana a ʻaʻole koi i ka hoʻomākaukau kūikawā o ka kernel system operating system. Akā, pono ʻoe e uku no kēia, ʻo ka mea mua, i ka wikiwiki.

ʻO ka virtualization hardware. I kēia hihia, hoʻomaopopo ka mea ma ka pae ʻenehana i nā kauoha mai ka ʻōnaehana hana. ʻO kēia ke ala wikiwiki a maikaʻi loa. Akā naʻe, ʻaʻole i kākoʻo ʻia e nā mea kino āpau, hypervisors a me nā ʻōnaehana lawelawe malihini. I kēia manawa, ʻo nā mea hana nui e kākoʻo ana i ka virtualization hardware nā mea hana.

Paravirtualization. ʻO ka koho maʻamau no ka virtualization device ma KVM a maʻamau ka mode virtualization maʻamau no nā ʻōnaehana lawelawe malihini. ʻO kāna mea ʻokoʻa ʻo ia ka hana me kekahi mau subsystem hypervisor (no ka laʻana, me ka pūnaewele a i ʻole ka hoʻopaʻa disk) a i ʻole ka hoʻokaʻawale ʻana i nā ʻaoʻao hoʻomanaʻo me ka API hypervisor, me ka unuhi ʻole ʻana i nā kauoha haʻahaʻa. ʻO ka hemahema o kēia ʻano virtualization ʻo ia ka pono e hoʻololi ʻia ka kernel operating system i hiki iā ia ke kamaʻilio me ka hypervisor me ka hoʻohana ʻana i kēia API. Akā, hoʻoholo pinepine ʻia kēia ma ka hoʻokomo ʻana i nā mea hoʻokele kūikawā ma ka ʻōnaehana lawelawe malihini. Ma KVM ua kapa ʻia kēia API virtio API.

Me ka paravirtualization, i hoʻohālikelike ʻia me ka hoʻolaha ʻana, ua hoʻemi nui ʻia ke ala i ke kino kino ma ka hoʻouna pololei ʻana i nā kauoha mai ka mīkini virtual i ke kaʻina hypervisor ma ka host. ʻAe kēia iā ʻoe e wikiwiki i ka hoʻokō ʻana i nā ʻōlelo aʻoaʻo a pau i loko o ka mīkini virtual. Ma KVM, hana ʻia kēia e ka virtio API, e hana wale ana no kekahi mau mea hana, e like me kahi pūnaewele a i ʻole ka hoʻopili disk. ʻO kēia ke kumu i hoʻokomo ʻia ai nā mea hoʻokele virtio i loko o nā mīkini virtual.

ʻO ka ʻaoʻao haʻahaʻa o kēia wikiwiki, ʻaʻole nā ​​​​kaʻina hana a pau e holo ana i loko o ka mīkini virtual i loko. Hoʻokumu kēia i kekahi mau hopena kūikawā i hiki ke hopena i ka spawning ma ka ʻaihue. Manaʻo wau e hoʻomaka i kahi noiʻi kikoʻī o kēia pilikia me He API no ka I/O virtual: virtio.

2.3. Hoʻonohonoho "kūpono".

ʻO ka mīkini virtual ma kahi hypervisor, he kaʻina hana maʻamau e hoʻolohe i nā kānāwai o ka hoʻonohonoho ʻana (ka hāʻawi ʻana i nā kumuwaiwai ma waena o nā kaʻina hana) ma ka kernel Linux, no laila e nānā pono kākou.

Hoʻohana ʻo Linux i ka mea i kapa ʻia ʻo CFS, Completely Fair Scheduler, i lilo i mea hoʻonohonoho paʻamau mai ka kernel 2.6.23. No ka hoʻomaopopo ʻana i kēia algorithm, hiki iā ʻoe ke heluhelu i ka Linux Kernel Architecture a i ʻole ke kumu kumu. ʻO ke kumu o ka CFS ka puʻunaue ʻana i ka manawa kaʻina hana ma waena o nā kaʻina hana ma muli o ka lōʻihi o kā lākou hoʻokō. ʻOi aku ka nui o ka manawa CPU e koi ai, ʻo ka liʻiliʻi o ka manawa CPU e loaʻa ai. Mālama kēia i ka hoʻokō ʻia ʻana o nā kaʻina hana "pono" - no laila ʻaʻole e noho mau ke kaʻina hana i nā kaʻina hana āpau, a hiki ke hoʻokō ʻia nā kaʻina hana ʻē aʻe.

I kekahi manawa alakaʻi kēia paradigm i nā mea hana hoihoi. Hoʻomanaʻo paha nā mea hoʻohana Linux lōʻihi i ka maloʻo ʻana o kahi mea hoʻoponopono kikokikona maʻamau ma luna o ka pākaukau i ka wā e holo ana i nā noi kumu waiwai e like me ka compiler. Ua hana ʻia kēia ma muli o ka hoʻokūkū ʻana o nā hana koʻikoʻi waiwai ʻole ma nā polokalamu papapihi me nā hana koʻikoʻi waiwai, e like me ka compiler. Manaʻo ʻo CFS he kūpono ʻole kēia, no laila e hoʻōki i ka mea hoʻoponopono kikokikona i kēlā me kēia manawa a hoʻokuʻu i ka mea hana i nā hana a ka mea hoʻopili. Ua hoʻoponopono ʻia kēia me ka hoʻohana ʻana i kahi mīkini sched_autogroup, akā nui nā hiʻohiʻona ʻē aʻe o ka hāʻawi ʻana i ka manawa hana ma waena o nā hana i koe. ʻOiaʻiʻo, ʻaʻole kēia he moʻolelo e pili ana i ka maikaʻi ʻole o nā mea āpau ma CFS, akā ʻo kahi hoʻāʻo e huki i ka manaʻo i ka ʻoiaʻiʻo ʻo ka hāʻawi ʻana i ka manawa "pono" ʻaʻole ka hana koʻikoʻi.

ʻO kahi mea nui ʻē aʻe i ka papa kuhikuhi ka preemption. Pono kēia e hoʻokuke i ke kaʻina hana snickering mai ka mea hana a hoʻokuʻu i nā mea ʻē aʻe e hana. Kapa ʻia ke kaʻina hana hoʻokuke ʻana i ka pōʻaiapili. I kēia hihia, mālama ʻia ka pōʻaiapili holoʻokoʻa o ka hana: ke kūlana o ka hoʻopaʻa ʻana, nā papa inoa, a me nā mea ʻē aʻe, ma hope o ka hoʻouna ʻia ʻana o ke kaʻina hana e kali, a ʻo kekahi e kū i kona wahi. He hana pipiʻi kēia no ka OS a ʻaʻole hoʻohana pinepine ʻia, akā ʻaʻohe mea hewa ʻole me ia. ʻO ka hoʻololi pinepine ʻana i ka pōʻaiapili e hōʻike ana i kahi pilikia ma ka OS, akā maʻamau e hoʻomau a ʻaʻole hōʻike i kekahi mea.

Pono ia moʻolelo lōʻihi e wehewehe i hoʻokahi ʻoiaʻiʻo: ʻoi aku ka nui o nā kumuwaiwai e hoʻāʻo e ʻai i kahi kaʻina hana ma kahi hoʻonohonoho Linux pono, ʻoi aku ka wikiwiki e pani ʻia i hiki ke hana pū kekahi. He nīnau paʻakikī paha kēia e hiki ke hoʻoholo ʻokoʻa ma lalo o nā ukana like ʻole. Ma Windows, a hiki i kēia manawa, ua kālele ʻia ka mea hoʻonohonoho i ka hana mua ʻana o nā noi papapihi, hiki ke hoʻokuʻu i nā kaʻina hana hope. Ua loaʻa iā Sun Solaris ʻelima mau papa hoʻonohonoho. I ka wā i hoʻomaka ai mākou i ka virtualization, ua hoʻohui mākou i ke ono, Mea hoʻonohonoho pono, no ka mea, ʻaʻole i hana maikaʻi nā mea ʻelima i hala me Solaris Zones virtualization. Manaʻo wau e hoʻomaka i kahi noiʻi kikoʻī o kēia pilikia me nā puke like ʻO Solaris Internals: Solaris 10 a me OpenSolaris Kernel Architecture ai ole ia, Hoʻomaopopo i ka Linux Kernel.

2.4. Pehea e nānā ai i ka ʻaihue?

He mea maʻalahi ka nānā ʻana i ka ʻaihue i loko o kahi mīkini virtual, e like me nā metric kaʻina hana ʻē aʻe: hiki iā ʻoe ke hoʻohana i kekahi mea hana metric processor. ʻO ka mea nui aia ka mīkini virtual ma Linux. No kekahi kumu ʻaʻole hāʻawi ʻo Windows i kēia ʻike i kāna mea hoʻohana. 🙁

ʻaihue: nāna e ʻaihue i ka manawa hana mai nā mīkini virtual
Ka hoʻopuka o ke kauoha kiʻekiʻe: nā kikoʻī o ka hoʻouka ʻana, ma ke kolamu ʻākau loa - ʻaihue

Piʻi ka pilikia i ka wā e hoʻāʻo ai e kiʻi i kēia ʻike mai ka hypervisor. Hiki iā ʻoe ke hoʻāʻo e wānana i ka ʻaihue ma ka mīkini hoʻokipa, no ka laʻana, me ka hoʻohana ʻana i ka hoʻohālikelike Load Average (LA) - ka waiwai awelika o ka helu o nā kaʻina e kali ana i ka queue hoʻokō. ʻAʻole maʻalahi ke ʻano o ka helu ʻana i kēia ʻāpana, akā ma ke ʻano maʻamau, inā ʻoi aku ka nui o ka LA ma o ka helu o nā kaula hana ma mua o 1, e hōʻike ana kēia i ka nui o ka server Linux me kekahi mea.

He aha kēia mau hana a pau e kali nei? ʻO ka pane maopopo ʻo ia ka mea hana. Akā ʻaʻole pololei loa ka pane, no ka mea, i kekahi manawa he manuahi ka mea hana, akā hele ʻo LA i ka pālākiō. E hoomanao pehea ka hāʻule ʻana o ka NFS a me ka ulu ʻana o LA. Hiki ke hana like me kahi disk a me nā mea hoʻokomo / puka puka ʻē aʻe. Akā ʻo ka ʻoiaʻiʻo, hiki i nā kaʻina hana ke kali no ka pau ʻana o kekahi laka, ʻo ke kino paha, pili me kahi mea I/O, a i ʻole ka loiloi, e like me ka mutex. Hoʻopili pū ʻia kēia me ka laka ʻana i ka pae o ka ʻenehana (ka pane like mai ka disk), a i ʻole logic (ka mea i kapa ʻia ʻo locking primitives, kahi pūʻulu o nā hui, mutex adaptive a spin, semaphores, condition variables, rw locks, ipc locks. ...).

ʻO kekahi hiʻohiʻona o LA ʻo ia ka mea i manaʻo ʻia he awelika ʻōnaehana hana. No ka laʻana, e hoʻokūkū ana nā kaʻina hana 100 no hoʻokahi faila, a laila LA=50. ʻO ia ʻano waiwai nui e hōʻike ana he hewa ka ʻōnaehana hana. Akā no nā code ʻē aʻe i kākau ʻia, he kūlana maʻamau paha kēia, ʻoiai ʻo ka hewa wale nō, a ʻaʻole pilikia nā kaʻina hana ʻē aʻe.

Ma muli o kēia awelika (a ʻaʻole i emi iho ma mua o hoʻokahi minuke), ʻo ka hoʻoholo ʻana i kekahi mea ma ka hōʻailona LA ʻaʻole ia ka hana maikaʻi loa, me nā hopena maopopo ʻole i nā hihia kikoʻī. Inā ʻoe e hoʻāʻo e noʻonoʻo, e ʻike ʻoe i nā ʻatikala ma Wikipedia a me nā kumuwaiwai ʻē aʻe e wehewehe i nā hihia maʻalahi wale nō, me ka ʻole o ka wehewehe hohonu ʻana i ke kaʻina hana. Hoʻouna hou aku au i nā mea hoihoi, maanei ia Brendan Gregg  - e hahai i nā loulou ma lalo nei. ʻO wai ka palaualelo e ʻōlelo Pelekania - unuhi o kāna ʻatikala kaulana e pili ana iā LA.

3. Nā hopena kūikawā

Ano, e nana kakou i na hihia nui o ka aihue a kakou i halawai ai. E haʻi wau iā ʻoe pehea e hahai ai lākou mai nā mea a pau i luna a pehea e pili ai i nā hōʻailona ma ka hypervisor.

Hana hou. ʻO ka mea maʻalahi a maʻamau: ua hoʻohana hou ʻia ka hypervisor. ʻOiaʻiʻo, nui ka holo ʻana o nā mīkini virtual, ka hoʻohana ʻana i ka ʻōnaehana kiʻekiʻe i loko o lākou, ka nui o ka hoʻokūkū, ʻoi aku ka hoʻohana ʻana o LA ma mua o 1 (maʻamau ʻia e nā kaula hana). Hoʻolohi nā mea a pau i loko o nā mīkini virtual āpau. Ke ulu nei ka ʻaihue i lawe ʻia mai ka hypervisor, pono e hoʻokaʻawale i ka ukana a i ʻole e hoʻopau i kekahi. Ma keʻano laulā, kūpono nā mea a pau a hiki ke hoʻomaopopo.

Paravirtualization vs. Hoʻokahi wale nō mīkini virtual ma ka hypervisor; hoʻopau ia i kahi hapa liʻiliʻi o ia mea, akā hoʻopuka i kahi ukana I/O nui, no ka laʻana ma ka disk. A mai kahi mai kahi ʻaihue liʻiliʻi e ʻike ʻia i loko, a hiki i ka 10% (e like me ka hōʻike ʻia e kekahi mau hoʻokolohua).

He hoihoi ka hihia. Hōʻike pololei ʻia ka ʻaihue ma muli o ke kāohi ʻana i ka pae o nā mea hoʻokele paravirtualized. Hana ʻia kahi interrupt i loko o ka mīkini virtual, hana ʻia e ka mea hoʻokele a hoʻouna ʻia i ka hypervisor. Ma muli o ka hoʻopaʻa ʻana i ka hypervisor, no ka mīkini virtual ua like ia me kahi noi i hoʻouna ʻia, ua mākaukau ia no ka hoʻokō ʻana a ke kali nei i ka processor, akā ʻaʻole i hāʻawi ʻia ka manawa hana. Manaʻo ke kaikamahine virtual ua ʻaihue kēia manawa.

Hana ʻia kēia i ka manawa i hoʻouna ʻia ai ka buffer, hele ia i loko o ka lumi kernel o ka hypervisor, a hoʻomaka mākou e kali iā ia. ʻOiai, mai ka manaʻo o ka mīkini virtual, pono e hoʻi koke ʻo ia. No laila, e like me ka algorithm helu helu ʻaihue, manaʻo ʻia kēia manawa he ʻaihue. ʻO ka mea maʻamau, ma kēia kūlana aia kekahi mau hana ʻē aʻe (no ka laʻana, ka hoʻoponopono ʻana i nā kelepona sys ʻē aʻe), akā ʻaʻole pono lākou e ʻokoʻa.

Mea hoʻonohonoho me nā mīkini virtual i hoʻouka nui ʻia. Ke pilikia kekahi mīkini virtual i ka ʻaihue ma mua o nā mea ʻē aʻe, no ka mea hoʻonohonoho. ʻOi aku ka nui o ka hoʻouka ʻana o ke kaʻina hana, ʻoi aku ka wikiwiki o ka mea hoʻonohonoho e hoʻokuʻu iā ia i hiki i nā mea ʻē aʻe ke hana. Inā ʻai liʻiliʻi ka mīkini virtual, ʻaʻole ia e ʻike i ka ʻaihue: ua noho pololei kāna kaʻina hana a kali, pono mākou e hāʻawi i ka manawa hou. Inā hoʻopuka ka mīkini virtual i ka haʻahaʻa kiʻekiʻe loa ma kāna mau cores a pau, kipaku pinepine ʻia ia mai ka papa hana a hoʻāʻo lākou e hāʻawi ʻole i ka manawa nui.

ʻOi aku ka maikaʻi i ka wā e hoʻāʻo ai nā kaʻina hana i loko o ka mīkini virtual e loaʻa i nā mea hana hou aku no ka mea ʻaʻole hiki iā lākou ke hoʻokō i ka hoʻoili ʻikepili. A laila ʻo ka ʻōnaehana hana ma ka hypervisor, ma muli o ka hoʻopono pono, e hāʻawi i ka manawa liʻiliʻi a liʻiliʻi. Hana ʻia kēia kaʻina e like me ka avalanche, a lele ʻaihue i ka lewa, ʻoiai ʻaʻole ʻike paha nā mīkini virtual ʻē aʻe. A ʻoi aku ka nui o nā cores, ʻoi aku ka maikaʻi o ka mīkini i hoʻopilikia ʻia. I ka pōkole, ʻoi aku ka pilikia o nā mīkini virtual i hoʻouka ʻia me nā cores he nui.

LA haʻahaʻa, akā aia ka ʻaihue. Inā ʻo LA ma kahi o 0,7 (ʻo ia hoʻi, ʻaʻole i hoʻokomo ʻia ka hypervisor), akā ʻike ʻia ka ʻaihue i loko o nā mīkini virtual.

  • ʻO ke koho me ka paravirtualization i wehewehe ʻia ma luna. Hiki i ka mīkini virtual ke loaʻa nā metric e hōʻike ana i ka ʻaihue, ʻoiai ua maikaʻi ka hypervisor. Wahi a nā hopena o kā mākou mau hoʻokolohua, ʻaʻole ʻoi aku kēia koho ʻaihue ma mua o 10% a ʻaʻole pono e loaʻa ka hopena koʻikoʻi i ka hana o nā noi i loko o ka mīkini virtual.
  • Ua helu hewa ʻia ka ʻāpana LA. ʻOi aku ka pololei, i kēlā me kēia manawa kikoʻī ua helu pololei ʻia, akā i ka wā i hoʻopaʻa ʻia ma luna o hoʻokahi minuke ua lilo ia i mea haʻahaʻa. No ka laʻana, inā hoʻopau kekahi mīkini virtual i ka hapakolu o ka hypervisor i kāna mau mea hana a pau no ka hapalua minuke, a laila ʻo LA no ka minuke ma ka hypervisor he 0,15; ʻehā mau mīkini virtual e hana like ana e hāʻawi i ka 0,6. A ʻo ka ʻoiaʻiʻo no ka hapalua minuke ma luna o kēlā me kēia o lākou he ʻaihue hihiu ma 25% e like me ka hōʻailona LA ʻaʻole hiki ke huki hou ʻia.
  • Eia hou, ma muli o ka mea hoʻonohonoho i hoʻoholo e ʻai nui ana kekahi a e kali kekahi. I kēia manawa, e hoʻololi wau i ka pōʻaiapili, mālama i nā mea hoʻopau a mālama i nā mea ʻōnaehana koʻikoʻi. ʻO ka hopena, ʻaʻole ʻike kekahi mau mīkini virtual i nā pilikia, aʻo nā mea ʻē aʻe e ʻike i ka degradation koʻikoʻi.

4. ʻO nā kuhi hewa ʻē aʻe

He miliona mau kumu no ka hoʻololi ʻana i ka hoʻihoʻi kūpono o ka manawa kaʻina hana ma kahi mīkini virtual. No ka laʻana, hoʻokomo ka hyperthreading a me ka NUMA i nā pilikia i ka helu ʻana. Hoʻopili paʻa lākou i ke koho o ka kernel no ka hoʻokō ʻana i ke kaʻina hana, no ka mea, hoʻohana ka mea hoʻonohonoho i nā coefficients - nā kaupaona, ʻoi aku ka paʻakikī o ka helu ʻana i ka hoʻololi ʻana i ka pōʻaiapili.

Aia nā distortions ma muli o nā ʻenehana e like me ka turbo boost a i ʻole, ke ʻano hoʻolaʻa ikehu, ka mea, i ka helu ʻana i ka hoʻohana ʻana, hiki ke hoʻonui a hoʻemi paha i ke alapine a i ʻole ka ʻāpana manawa ma ke kikowaena. ʻO ka ʻae ʻana i ka turbo boost e hōʻemi i ka hana o hoʻokahi pae hana ma muli o ka piʻi ʻana o ka hana o kekahi. I kēia manawa, ʻaʻole i hoʻouna ʻia ka ʻike e pili ana i ke kaʻina hana o kēia manawa i ka mīkini virtual, a manaʻoʻiʻo ia e ʻaihue kekahi i kona manawa (no ka laʻana, ua noi ʻo ia iā 2 GHz, akā loaʻa ka hapalua o kēlā).

Ma keʻano laulā, hiki i nā kumu he nui no ka distortion. Loaʻa paha iā ʻoe kekahi mea ʻē aʻe ma kekahi ʻōnaehana. ʻOi aku ka maikaʻi o ka hoʻomaka ʻana me nā puke aʻu i hāʻawi ai i nā loulou ma luna, a me ka lawe ʻana i nā ʻikepili mai ka hypervisor me ka hoʻohana ʻana i nā pono e like me perf, sysdig, systemtap, nona. kau paha.

5. Manao

  1. Hiki ke ʻaihue ma muli o ka paravirtualization, a hiki ke manaʻo ʻia he mea maʻamau. Kākau lākou ma ka Pūnaewele hiki i kēia waiwai ke 5-10%. Aia ma luna o nā noi i loko o ka mīkini virtual a me ka ukana i kau ʻia ma kāna mau mea kino. Eia ka mea nui e hoʻolohe i ke ʻano o nā noi i loko o nā mīkini virtual.
  2. ʻAʻole pili mau ka ratio o ka ukana ma ka hypervisor a me ka ʻaihue i loko o ka mīkini virtual; hiki ke kuhi hewa nā manaʻo ʻelua o ka ʻaihue i nā kūlana kikoʻī ma lalo o nā ukana like ʻole.
  3. He ʻano ʻino ko ka mea hoʻonohonoho i nā kaʻina hana e nīnau nui ai. Ke ho'āʻo neiʻo ia e hāʻawi liʻiliʻi i ka poʻe e noi hou aku. He ʻino nā mīkini virtual nui.
  4. ʻO kahi ʻaihue liʻiliʻi hiki ke lilo i mea maʻamau me ka ʻole o ka paravirtualization (e noʻonoʻo ana i ka ukana i loko o ka mīkini virtual, nā hiʻohiʻona o ka ukana o nā hoalauna, ka hāʻawi ʻana i ka ukana ma nā kaula a me nā mea ʻē aʻe).
  5. Inā makemake ʻoe e noʻonoʻo i ka ʻaihue ma kahi ʻōnaehana kikoʻī, pono ʻoe e ʻimi i nā koho like ʻole, e hōʻiliʻili i nā metric, e nānā pono iā lākou a noʻonoʻo e pili ana i ka puʻunaue like ʻana i ka ukana. Hiki ke hoʻololi ʻia mai nā hihia, pono e hōʻoia ʻia ma ka hoʻokolohua a nānā ʻia paha i ka kernel debugger.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka