Gå til innhold

SMP i virtuelle maskiner. Skal/skal ikke?


oblivian

Anbefalte innlegg

Skrevet

Hei,

 

Mener jeg leste et eller annet sted at man helst ikke skal enable flere CPU'er i virtuelle maskiner... Er det noen som kan forklare meg hvorfor man ikke skal gjøre det? I de fleste virtuelle maskinene jeg har satt opp har jeg enablet dette. Jeg prøvde å finne tilbake til posten, men finner den ikke.

 

Takk.

Videoannonse
Annonse
Skrevet

Det er riktig som du sier. Hvis du gir VMene dine flere virtuelle cpu'er så kan det ha negativ effekt på ytelsen til systemet ditt. Forklaringen ligger i at når en virtuell maskin med flere cpuer skal scheduleres for å kjøre så må flere cpuer være tilgjengelig samtidig. På multicore-cpuer så betyr dette feks at den trenger flere cpuer samtidig tilgjengelig på samme sokkel. Hvis du samtidig har flere andre virtuelle maskiner kjørende så vil også disse kjøre på de samme cpuene og maskiner som har flere cpuer vil oppleve å måtte vente lenger på å få kjøretid i og med at de ikke kan kjøre på første tilgjengelige, men må vente inntil to cpuer er ledige. Se også Best Practices Using VMware Virtual SMP

 

Hvis du har en applikasjon som du virkelig trenger å bruke vsmp på så må du i det minste sørge for at du har mer enn nok cpu (kjerner) på denne hosten. Du vil få best ytelse om du setter affinity slik at denne VMen får et dedikert cpu-sokkelpar som kun denne kjører på, men dette vil ikke fungere med VMotion osv så dette er en dårlig løsning. Hvis du allerede bruker vsmp på dine maskiner vil det være hensiktsmessig å gå over til 1 virtuell cpu per VM samt å bytte til unicpu HAL/kjerne på disse VMene.

 

Lykke til!

 

Lars

Skrevet

Interessant og oppklarende lesing. Hmm, det krever temmelig mye research pr. applikasjon å avgjøre når det lønner seg og enable SMP. Hvordan gjør forresten du det, Lars? Nå er jo ikke dette en eksakt vitenskap og det er mange scenarioer og løsninger, men kjører du stort sett en hovedapplikasjon pr. VM, eller mange applikasjoner pr VM? Altså f. eks. en ren VM for HTTP, en for mail, en SQL, osv, eller f. eks. en LAMP installasjon på en VM i stedet for å fordele det utover flere VM'er?

Skrevet

Det lønner seg alltid å starte med 1 cpu når man lager en VM da det kan (i windows) være utfordrende å bytte til en (best mulig) single cpu HAL. Hvis man ikke får nok ytelse med en single cpu med default settinger kan det også være nok å justere shares for den aktuelle VMen. Hvis dette fortsatt ikke er nok kan du sammenligne ytelsen etter å ha gitt den to cpu'er. Det kan være en fordel å ta et snapshot først slik at du enkelt kan gå tilbake til en cpu hvis du finner ut at du får dårligere ytelse med vsmp.

 

Det å gi hver tjeneste hver sin (virtuelle) maskin er vanligvis en god praktis både for fysiske og virtuelle servere.

 

Lars

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...