Burstable EC2 VPN: Standard eller Unlimited CPU-kredittar?
Éin modus strupar ved grunnlinja, den andre held fram og kan fakturere deg. Rekn ut kredittaritmetikken før ein liten instans blir gatewayen din.
Ein liten VPN-gateway klarar ein hastigheitstest, kjennest fin, og blir så tregare etter lunsj. Instansen ljugde ikkje under testen; han brukte kredittar han hadde tent medan han var ledig. Burstable-instansar er laga nettopp for det, noko som gjer ein kort benchmark til ein dårleg prediktor for ein heil ettermiddag med overføringar. Dei to kredittmodusane feilar òg på ulike måtar, og valet mellom dei er den eigentlege avgjerda.
Kvar hastigheitstesten lånte frå
Éin CPU-kreditt er éin vCPU som køyrer med full utnytting i eitt minutt. Ein burstable-instans tener kredittar med grunnlinjetakta si og brukar dei når han overstig den grunnlinja. Ei ledig natt byggjer opp ein saldo; ein travel morgon tappar han.
Derfor ser den første testen bra ut. Instansen hadde eit oppspart budsjett, brukte det på krypteringsarbeid og rapporterte ein sunn hastigheit. Ingenting i resultatet fortel deg kva som skjer når saldoen når null. Benchmarken målte ein burst, og ein burst er det instansen er laga for å levere. Han målte aldri den jamne tilstanden du er i ferd med å basere deg på.
Aritmetikken du må gjere
Inndata er grunnlinjeprosenten per vCPU, talet på vCPU-ar, den opparbeidde saldoen og belastninga du ventar. Berre som illustrasjon: ta ein hypotetisk instans med to vCPU-ar, ei grunnlinje på ti prosent per vCPU, 24 opparbeidde kredittar, og éin vCPU fullt oppteken medan den andre er ledig. Desse tala er deklarerte inndata, ikkje spesifikasjonen for ein bestemt instansstorleik.
Earn rate: 2 x 10% x 60 = 12 credits/hour
Workload usage: 1 x 100% x 60 = 60 credits/hour
Net draw: 60 - 12 = 48 credits/hour
Accrued budget: 24 / 48 = 0.5 hoursUnder desse føresetnadene er budsjettet borte på om lag ein halvtime. Bakgrunnsarbeid, skiftande belastning og instansen sitt eige rekneskap flyttar resultatet, og ingenting av dette føreser VPN-gjennomstrøyming. Det som blir føresagt, er når den varige avgrensinga byrjar å bite.
Legg merke til den andre lesinga òg: éin oppteken vCPU er om lag halvparten av den samla CPU-kapasiteten i dette dømet. Ein moderat totalprosent kan skjule ein metta kjerne, så sjå på åtferda per kjerne saman med kredittala.
Standard og Unlimited: same null, ulik tyding
I Standard-modus avgrensar ein uttømd saldo varig CPU mot grunnlinja. Instansen held fram med å arbeide, berre seinare, og taket er føreseieleg. I Unlimited-modus kan instansen halde fram med å trekkje på overskotskredittar etter at saldoen når null, og varig bruk over grunnlinja kan gje kostnader etter rekneskapsreglane til tenesta.
Så ein CPUCreditBalance på null tyder struping i éin modus og mogleg fakturering i den andre. Det er heile samanlikninga, og derfor er det misvisande å lese metrikken utan å lese modusen.
Overskot er heller ikkje ein enkel faktura per kreditt. Seinare drift under grunnlinja kan betale ned overskotsbruken, og andre kostnadsvilkår gjeld. Sjekk den konfigurerte modusen og gjeldande tenestereglar i staden for å stole på ein gratisnivåpåstand frå eit gammalt blogginnlegg.
Kva du bør fylgje med på under reelt arbeid
Registrer CPUCreditUsage og CPUCreditBalance ved sida av varigheita og hastigheita til overføringa. På Unlimited legg du til CPUSurplusCreditBalance og CPUSurplusCreditsCharged. AWS si rettleiing for overvaking av CPU-kredittar forklarar kva kvar av dei rapporterer og kor ofte.
Test på nytt med representativ samtid og lang nok varigheit til å sjå trenden, og registrer startsaldoen. Ein ledig morgon og ein travel ettermiddag er ikkje det same eksperimentet, sjølv med identiske kommandoar.
Grenser som ikkje er CPU
Nettverksbandbreidd har si eiga grunnlinje og burst-åtferd, og pakkehastigheits- eller tilkoplingsgrenser kan binde før CPU-en. Minne betyr noko når VPN-implementasjonen held tilstand per tilkopling, og ein liten instans kan gå tom for det lenge før han går tom for kredittar.
Ein sunn kredittsaldo provar derfor éin ting: CPU-budsjettet er ikkje den gjeldande avgrensinga. Han seier ingenting om nettverksvegen, og han seier ingenting om kva som skjer ved dobbel samtid. Fylg med på nettverksmetrikkane i same vindauget som kredittmetrikkane, slik at eit fall i gjennomstrøyming har ein mogleg årsak i staden for ein teori.
Å velje ei grunnlinje med vilje
Bruk den målte varige arbeidsbelastninga til å velje ei grunnlinje, eller godta bursting eksplisitt og budsjetter for det. Begge svara er forsvarlege når dei er skrivne ned; ingen av dei er forsvarlege når dei er utleia frå nokon andre sin vellukka videostraum.
Viss gatewayen ber last, handsam kredittmodusen som ein del av kapasitetsplanen i staden for ei standardinnstilling du aldri opna. Modusen du vel, er feilen du kan føreseie.