Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Upami anjeun ngokolakeun infrastruktur virtual dumasar kana VMware vSphere (atanapi tumpukan téknologi anu sanés), anjeun sigana sering ngadangu keluhan ti pangguna: "Mesin virtualna laun!" Dina séri tulisan ieu kuring bakal nganalisis métrik kinerja sareng nyarioskeun ka anjeun naon sareng kunaon éta ngalambatkeun sareng kumaha carana mastikeun éta henteu ngalambatkeun.

Kuring baris mertimbangkeun aspék handap kinerja mesin virtual:

  • CPU,
  • Ram
  • DISK,
  • Jaringan.

Kuring gé mimitian ku CPU.

Pikeun nganalisis kinerja urang peryogi:

  • vCenter Performance counters – counters kinerja, grafik nu bisa ditempo ngaliwatan klien vSphere. Émbaran on counters ieu sadia dina sagala versi klien nu ("kandel" klien dina C #, klien web di Flex sarta klien web di HTML5). Dina artikel ieu kami bakal ngagunakeun Potret layar ti klien C #, ngan sabab kasampak hadé dina miniatur :)
  • ESXTOP - utiliti anu dijalankeun tina garis paréntah ESXi. Kalayan bantosanana, anjeun tiasa kéngingkeun nilai-nilai konter kinerja sacara real waktos atanapi unggah nilai-nilai ieu pikeun waktos anu tangtu kana file .csv pikeun analisa salajengna. Salajengna, kuring bakal nyarios langkung seueur ngeunaan alat ieu sareng nyayogikeun sababaraha tautan anu mangpaat pikeun dokuméntasi sareng tulisan ngeunaan topik éta.

Bit téori

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Dina ESXi, prosés misah - dunya dina terminologi VMware - tanggung jawab operasi unggal vCPU (inti mesin virtual). Aya ogé prosés jasa, tapi tina sudut pandang nganalisa kinerja VM aranjeunna henteu pikaresepeun.

Prosés di ESXi tiasa di salah sahiji tina opat nagara bagian:

  • lalumpatan - prosés ngalakukeun sababaraha karya mangpaat.
  • ngantosan - prosésna henteu ngalakukeun padamelan naon waé (dianggurkeun) atanapi ngantosan input / kaluaran.
  • Kostop - kaayaan anu lumangsung dina mesin virtual multi-core. Ieu lumangsung nalika hypervisor CPU scheduler (ESXi CPU Scheduler) teu bisa ngajadwalkeun palaksanaan simultaneous sadaya cores mesin virtual aktip dina cores server fisik. Di dunya fisik, sadaya inti prosésor tiasa dianggo paralel, OS tamu di jero VM ngaharepkeun paripolah anu sami, ku kituna hypervisor kedah ngalambatkeun inti VM anu gaduh kamampuan pikeun ngarengsekeun siklus jamna langkung gancang. Dina versi modérn ESXi, CPU scheduler ngagunakeun mékanisme disebut santai ko-scheduling: hypervisor nu tempo celah antara "panggancangna" jeung "slowest" mesin virtual inti (skew). Lamun gap ngaleuwihan bangbarung nu tangtu, inti gancang asup kana kaayaan costop. Upami VM cores nyéépkeun waktos dina kaayaan ieu, éta tiasa nyababkeun masalah kinerja.
  • siap - prosés asup kana kaayaan ieu nalika hypervisor henteu tiasa nyayogikeun sumber daya pikeun palaksanaanna. Nilai siap tinggi tiasa nyababkeun masalah kinerja VM.

counters kinerja CPU mesin virtual dasar

Pamakéan CPU,%. Némbongkeun persentase pamakean CPU pikeun période anu ditangtukeun.

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Kumaha cara analisa? Upami VM sacara konsisten nganggo CPU dina 90% atanapi aya puncak dugi ka 100%, maka urang ngagaduhan masalah. Masalah bisa dikedalkeun teu ukur dina operasi "slow" tina aplikasi di jero VM, tapi ogé dina inaccessibility tina VM ngaliwatan jaringan. Lamun sistem ngawaskeun némbongkeun yén VM périodik ragrag kaluar, nengetan puncak dina grafik Dianggo CPU.

Aya Alarm standar anu nunjukkeun beban CPU tina mesin virtual:

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Naon anu kudu dipigawé? Upami Pamakéan CPU VM terus-terusan ngalangkungan hateupna, teras anjeun tiasa mikirkeun kanaékan jumlah vCPU (hanjakalna, ieu henteu salawasna ngabantosan) atanapi ngalihkeun VM ka server kalayan prosesor anu langkung kuat.

Pamakéan CPU dina MHz

Dina grafik on vCenter Usage in% anjeun tiasa ningali ngan pikeun sakabéh mesin virtual; euweuh grafik pikeun cores individu (dina Esxtop aya % nilai keur cores). Pikeun unggal inti anjeun tiasa ningali Dianggo dina MHz.

Kumaha cara analisa? Éta kajadian yén aplikasi henteu dioptimalkeun pikeun arsitéktur multi-inti: ngan ukur nganggo hiji inti 100%, sareng sésana dianggurkeun tanpa beban. Contona, dina setélan cadangan standar, MS SQL dimimitian prosés dina ngan hiji inti. Hasilna, cadangan slows turun teu kusabab speed slow tina disk (ieu naon pamaké mimitina humandeuar ngeunaan), tapi kusabab processor teu bisa Cope. Masalahna direngsekeun ku cara ngarobah parameter: cadangan mimiti dijalankeun paralel dina sababaraha file (masing-masing dina sababaraha prosés).

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU
Conto beban henteu rata dina inti.

Aya ogé kaayaan (sapertos dina grafik di luhur) nalika inti dimuat henteu rata sareng sababaraha di antarana gaduh puncak 100%. Salaku loading ngan hiji inti, alarem pikeun pamakéan CPU moal jalan (éta pikeun sakabéh VM), tapi bakal aya masalah kinerja.

Naon anu kudu dipigawé? Lamun software dina mesin virtual beban cores unevenly (maké ngan hiji inti atawa bagian tina cores), euweuh titik dina ngaronjatkeun jumlah maranéhanana. Dina hal ieu, éta hadé pikeun mindahkeun VM ka server kalawan prosesor leuwih kuat.

Anjeun oge bisa coba mariksa setelan konsumsi kakuatan dina mios server. Seueur pangurus ngaktifkeun modeu Kinerja Tinggi dina mios sareng ku kituna nganonaktipkeun téknologi hemat energi C-states sareng P-states. Prosesor Intel modéren nganggo téknologi Turbo Boost, anu ningkatkeun frékuénsi inti prosésor individu kalayan ngorbankeun inti anu sanés. Tapi ngan ukur tiasa dianggo nalika téknologi hemat energi diaktipkeun. Lamun urang nganonaktipkeun aranjeunna, processor moal bisa ngurangan konsumsi kakuatan core nu teu dimuat.

VMware nyarankeun teu nganonaktipkeun téknologi hemat daya dina server, tapi milih modus nu ninggalkeun manajemén kakuatan ka hypervisor saloba mungkin. Dina hal ieu, dina setélan konsumsi kakuatan hypervisor, Anjeun kudu milih Performance High.

Upami Anjeun gaduh VM individu (atawa cores VM) dina infrastruktur Anjeun nu merlukeun ngaronjat frékuénsi CPU, bener nyaluyukeun konsumsi kakuatan bisa nyata ngaronjatkeun kinerja maranéhanana.

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

CPU Siap

Upami inti VM (vCPU) aya dina kaayaan Siap, éta henteu ngalakukeun padamelan anu mangpaat. Kaayaan ieu lumangsung nalika hypervisor henteu mendakan inti fisik gratis dimana prosés vCPU mesin virtual tiasa ditugaskeun.

Kumaha cara analisa? Biasana, upami inti mesin virtual aya dina kaayaan Siap langkung ti 10% waktos, anjeun bakal perhatikeun masalah kinerja. Kantun nempatkeun, langkung ti 10% waktos VM ngantosan sumber daya fisik sayogi.

Dina vCenter anjeun tiasa ningali 2 counter anu aya hubunganana sareng CPU Ready:

  • kesiapan,
  • Siap.

Nilai duanana counters bisa ditempo duanana pikeun sakabéh VM sarta pikeun cores individu.
Kesiapan nembongkeun nilai langsung salaku perséntase, tapi ngan dina Real-time (data pikeun jam panungtungan, interval pangukuran 20 detik). Hadé pisan mun éta ngagunakeun counter ieu ngan pikeun manggihan masalah "panas dina heels".

Nilai counter siap ogé tiasa ditingali tina sudut pandang sajarah. Ieu mangpaat pikeun nyieun pola jeung analisis deeper masalah. Contona, upami mesin virtual mimiti ngalaman masalah kinerja dina waktu nu tangtu, anjeun tiasa ngabandingkeun interval tina nilai CPU Siap kalawan total beban dina server mana VM ieu ngajalankeun, sarta nyandak ukuran pikeun ngurangan beban (lamun DRS). gagal).

Siap, teu siga Kesiapan, dipidangkeun sanes dina persentase, tapi dina milidetik. Ieu mangrupakeun counter tipe Summation, nyaeta, nembongkeun sabaraha lila salila periode ukur inti VM éta dina kaayaan Siap. Anjeun tiasa ngarobih nilai ieu kana persentase nganggo rumus saderhana:

(Nilai penjumlahan siap CPU / (interval update standar grafik dina detik * 1000)) * 100 = CPU siap%

Contona, pikeun VM dina grafik di handap, nilai puncak Siap pikeun sakabéh mesin virtual bakal kieu:

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Nalika ngitung persentase Siap, anjeun kedah nengetan dua titik:

  • Nilai Siap pikeun sakabéh VM nyaéta jumlah tina Siap sakuliah cores.
  • Interval pangukuran. Pikeun Real-time éta 20 detik, sareng, contona, dina bagan sapopoé nyaéta 300 detik.

Kalayan ngungkulan aktip, titik-titik saderhana ieu gampang dileungitkeun sareng waktos anu berharga tiasa dibuang pikeun ngarengsekeun masalah anu teu aya.

Hayu urang ngitung Siap dumasar kana data tina grafik di handap. (324474 / (20 * 1000)) * 100 = 1622% pikeun sakabéh VM. Upami anjeun ningali intina, éta henteu pikasieuneun: 1622/64 = 25% per inti. Dina hal ieu, nyekel cukup gampang titik: nilai Siap teu realistis. Tapi lamun urang keur diajak ngobrol ngeunaan 10-20% pikeun sakabéh VM kalawan sababaraha cores, teras pikeun tiap inti nilai bisa jadi dina rentang normal.

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Naon anu kudu dipigawé? A nilai Siap tinggi nunjukkeun yén server teu boga cukup sumberdaya processor pikeun operasi normal tina mesin virtual. Dina kaayaan kitu, ngan ukur ngirangan langganan ku prosesor (vCPU:pCPU). Jelas, ieu tiasa dihontal ku cara ngirangan parameter VM anu tos aya atanapi ku migrasi bagian tina VM ka server anu sanés.

Co-stop

Kumaha cara analisa? Counter ieu ogé tina jinis Penjumlahan sareng dirobih kana persentase dina cara anu sami sareng Siap:

(Nilai penjumlahan ko-stop CPU / (interval update standar grafik dina detik * 1000)) * 100 = CPU co-stop %

Di dieu anjeun ogé kedah nengetan jumlah inti dina VM sareng interval pangukuran.
Dina kaayaan costop, kernel teu ngalakukeun pagawean mangpaat. Kalayan pilihan anu leres tina ukuran VM sareng beban normal dina server, ko-stop counter kedah caket sareng nol.

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU
Dina hal ieu, beban jelas abnormal :)

Naon anu kudu dipigawé? Upami sababaraha VM sareng sajumlah inti anu ageung dijalankeun dina hiji hypervisor sareng aya kaleuleuwihan dina CPU, teras ko-stop counter tiasa ningkat, anu bakal nyababkeun masalah sareng kinerja VM ieu.

Ogé, co-stop bakal ningkat upami inti aktif tina hiji VM nganggo benang dina hiji inti server fisik sareng hyper-treading diaktipkeun. kaayaan ieu bisa timbul, contona, lamun VM boga leuwih cores ti sadia fisik dina server dimana eta ngajalankeun, atawa lamun setelan "preferHT" diaktipkeun pikeun VM. Anjeun tiasa maca ngeunaan setelan ieu di dieu.

Pikeun ngahindarkeun masalah sareng kinerja VM alatan luhur ko-stop, pilih ukuran VM luyu jeung saran ti produsén software nu dijalankeun dina VM ieu jeung kamampuhan tina server fisik mana VM ngajalankeun.

Ulah nambahkeun cores dina cadangan; ieu bisa ngabalukarkeun masalah kinerja teu ukur keur VM sorangan, tapi ogé pikeun tatanggana na dina server.

metrics CPU mangpaat séjén

lalumpatan - sabaraha waktos (ms) salami periode pangukuran vCPU dina kaayaan RUN, nyaéta, éta leres-leres ngalaksanakeun padamelan anu mangpaat.

teu jalan – sabaraha lila (ms) salila periode pangukuran vCPU dina kaayaan teu aktip. Nilai dianggurkeun anu luhur henteu janten masalah, vCPU ngan saukur "henteu aya anu kedah dilakukeun."

ngantosan – sabaraha lila (ms) salila periode pangukuran vCPU dina kaayaan Tungguan. Kusabab IDLE kalebet kana lokét ieu, nilai Tungguan anu luhur ogé henteu nunjukkeun masalah. Tapi upami Tungguan IDLE rendah nalika Antosan tinggi, éta hartosna VM ngantosan operasi I / O réngsé, sareng ieu, kahareupna tiasa nunjukkeun masalah sareng kinerja hard drive atanapi alat virtual VM.

Max kawates – sabaraha lila (ms) salila periode pangukuran vCPU dina kaayaan Siap alatan wates sumberdaya set. Lamun kinerja inexplicably low, mangka mangpaat pikeun pariksa nilai counter ieu sareng wates CPU dina setélan VM. VM memang tiasa gaduh wates anu anjeun henteu sadar. Salaku conto, ieu kajadian nalika VM diklon tina template dimana wates CPU disetél.

Ganti nungguan - sabaraha lila salila periode pangukuran vCPU ngantosan operasi kalawan VMkernel Swap. Upami nilai counter ieu langkung luhur nol, maka VM pasti ngagaduhan masalah kinerja. Urang bakal ngobrol ngeunaan SWAP dina artikel ngeunaan counters RAM.

ESXTOP

Mun counters kinerja di vCenter anu alus pikeun nganalisis data sajarah, lajeng analisis operasional masalah hadé dipigawé dina ESXTOP. Di dieu, sadaya nilai dibere dina bentuk siap-dijieun (teu kudu narjamahkeun nanaon), sarta periode pangukuran minimum 2 detik.
Layar ESXTOP pikeun CPU disebut sareng konci "c" sareng sapertos kieu:

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Pikeun genah, Anjeun ngan bisa ninggalkeun prosés mesin virtual ku mencét Shift-V.
Pikeun ningali métrik pikeun inti VM individu, pencét "e" sareng lebetkeun GID tina VM anu dipikaresep (30919 dina layar di handap):

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Hayu atuh sakeudeung ngaliwatan kolom nu dibere sacara standar. Kolom tambahan bisa ditambahkeun ku mencét "f".

NWLD (Jumlah Dunya) - Jumlah prosés dina grup. Pikeun ngalegaan grup sareng ningali métrik pikeun unggal prosés (contona, pikeun unggal inti dina VM multi-inti), pencét "e". Upami aya langkung ti hiji prosés dina grup, maka nilai métrik pikeun grup sami sareng jumlah métrik pikeun prosés individu.

%DIGUNA – sabaraha siklus CPU server dipaké ku prosés atawa grup prosés.

%LUJUT - sabaraha lila salila periode pangukuran prosés éta dina kaayaan RUN, i.e. ngalakukeun pagawean mangpaat. Beda jeung %USED nu teu nganggap hyper-threading, skala frékuénsi jeung waktu spent dina tugas sistem (% SYS).

%SYS - waktos spent dina tugas sistem, Contona: ngaganggu processing, abdi / The, operasi jaringan, jsb nilai bisa jadi luhur lamun VM ngabogaan I / The badag.

%OVRLP - sabaraha waktos inti fisik anu prosés VM ngajalankeun spent dina tugas prosés séjén.

metrics ieu pakaitna saling saperti kieu:

% USED = % RUN + % SYS -% OVRLP.

Biasana métrik %USED langkung informatif.

%ANTUNGAN – sabaraha lila salila periode pangukuran prosés dina kaayaan Tungguan. Aktipkeun IDLE.

%IDLE – sabaraha lila salila periode pangukuran prosés dina kaayaan IDLE.

%SWPWT - sabaraha lila salila periode pangukuran vCPU ngantosan operasi kalawan VMkernel Swap.

%VMWAIT – sabaraha lila salila periode pangukuran vCPU dina kaayaan nungguan hiji kajadian (biasana I/O). Aya henteu counter sarupa di vCenter. Nilai luhur nunjukkeun masalah sareng I / O dina VM.

%TUNGGUHAN = %VMWAIT + %IDLE + %SWPWT.

Upami VM henteu nganggo VMkernel Swap, teras nalika nganalisa masalah kinerja disarankeun pikeun ningali% VMWAIT, sabab métrik ieu henteu tumut kana waktos nalika VM henteu ngalakukeun nanaon (% IDLE).

%RDY – sabaraha lila salila periode pangukuran prosés dina kaayaan Siap.

%CSTP – sabaraha lila salila periode pangukuran prosés dina kaayaan costop.

%MLMTD – sabaraha lila salila periode pangukuran vCPU dina kaayaan Siap alatan wates sumberdaya set.

% ANTOS + % RDY + % CSTP + % RUN = 100% - inti VM sok di salah sahiji opat nagara bagian ieu.

CPU dina hypervisor

vCenter boga ogé counters kinerja CPU pikeun hypervisor nu, Tapi aranjeunna nanaon metot - aranjeunna saukur jumlah tina counters pikeun sakabéh VMs on server.
Cara anu paling gampang pikeun ningali status CPU dina server nyaéta dina tab Ringkesan:

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Pikeun server, kitu ogé pikeun mesin virtual, aya Alarm standar:

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Nalika beban CPU pangladén luhur, VM anu ngajalankeun éta mimiti ngalaman masalah kinerja.

Dina ESXTOP, data beban CPU server dibere di luhureun layar. Salian beban CPU standar, anu henteu pisan informatif pikeun hypervisors, aya tilu métrik deui:

UTIL Inti(%) - ngamuat inti server fisik. Counter ieu nunjukkeun sabaraha waktos inti ngalaksanakeun padamelan salami periode pangukuran.

PCPU UTIL(%) - upami hyper-threading diaktipkeun, teras aya dua benang (PCPU) per inti fisik. Métrik ieu nunjukkeun sabaraha lila unggal utas pikeun ngarengsekeun padamelan.

PCPU DIGUNA(%) - sarua jeung PCPU UTIL (%), tapi tumut kana akun skala frékuénsi (boh ngurangan frékuénsi inti pikeun tujuan hemat energi, atawa ngaronjatna frékuénsi inti alatan téhnologi Turbo naekeun) sarta hyper-threading.

PCPU_USED% = PCPU_UTIL% * frékuénsi inti éféktif / frékuénsi inti nominal.

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU
Dina screenshot ieu, pikeun sababaraha cores, alatan Turbo Boost, nilai USED leuwih gede ti 100%, saprak frékuénsi inti leuwih luhur ti nu nominal.

Sababaraha kecap ngeunaan kumaha hyper-threading dianggap. Upami prosés dieksekusi 100% waktos dina kadua utas inti fisik server, sedengkeun inti beroperasi dina frékuénsi nominal, teras:

  • CORE UTIL pikeun inti bakal 100%,
  • PCPU UTIL pikeun duanana threads bakal 100%,
  • PCPU USED pikeun duanana threads bakal 50%.

Upami duanana benang henteu jalan 100% waktos salami periode pangukuran, maka dina waktos éta nalika benang damel paralel, PCPU DIGUNA pikeun inti dibagi satengah.

ESXTOP ogé boga layar kalawan parameter konsumsi kakuatan CPU server. Di dieu anjeun tiasa ningali naha server nganggo téknologi hemat energi: C-states sareng P-states. Disebut kalayan konci "p":

Analisis kinerja mesin virtual dina VMware vSphere. Bagian 1: CPU

Isu Performance CPU umum

Tungtungna, kuring bakal ngabahas panyabab umum masalah sareng kinerja CPU VM sareng masihan tip pondok pikeun ngarengsekeunana:

Laju jam inti teu cukup. Upami teu mungkin pikeun ningkatkeun VM anjeun ka inti anu langkung kuat, anjeun tiasa nyobian ngarobih setélan kakuatan supados Turbo Boost tiasa dianggo langkung éfisién.

Ukuran VM lepat (loba teuing/saeutik cores). Upami anjeun masang sababaraha inti, bakal aya beban CPU anu luhur dina VM. Lamun aya loba, nyekel co-stop luhur.

Oversubscription badag tina CPU dina server. Mun VM ngabogaan Siap tinggi, ngurangan oversubscription CPU.

Topologi NUMA salah dina VM badag. Topologi NUMA anu ditingali ku VM (vNUMA) kedah cocog sareng topologi NUMA tina server (pNUMA). Diagnostics sareng solusi anu mungkin pikeun masalah ieu ditulis, contona, dina buku "VMware vSphere 6.5 Host Resources Deep Dive". Mun anjeun teu hoyong buka deeper jeung anjeun teu boga larangan lisénsi dina OS dipasang dina VM, nyieun loba sockets virtual dina VM, hiji inti dina hiji waktu. Anjeun moal kaleungitan seueur :)

Éta sadayana pikeun kuring ngeunaan CPU. Tanya patarosan. Dina bagian hareup kuring bakal ngobrol ngeunaan RAM.

link mangpaathttp://virtual-red-dot.info/vm-cpu-counters-vsphere/
https://kb.vmware.com/kb/1017926
http://www.yellow-bricks.com/2012/07/17/why-is-wait-so-high/
https://communities.vmware.com/docs/DOC-9279
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/whats-new-vsphere65-perf.pdf
https://pages.rubrik.com/host-resources-deep-dive_request.html

sumber: www.habr.com

Tambahkeun komentar