Mažas VPN gateway praeina greičio testą, atrodo gerai, o po pietų pradeda lėtėti. Instancija testo metu nemelavo; ji leido kreditus, uždirbtus tuščiosios eigos metu. Burstable instancijos yra sukurtos būtent tam, todėl trumpas benchmark yra prastas visos popietės perdavimų prognozuotojas. Du kreditų režimai taip pat sugenda skirtingai, ir pasirinkimas tarp jų yra tikrasis sprendimas.

Iš kur greičio testas pasiskolino

Vienas CPU kreditas yra vienas vCPU, veikiantis visu pajėgumu vieną minutę. Burstable instancija uždirba kreditus savo bazinės linijos tempu ir išleidžia juos, kai viršija tą bazinę liniją. Tuščia naktis kaupia balansą; užimtas rytas jį išnaudoja.

Štai kodėl pirmasis testas atrodo gerai. Instancija turėjo sukauptą biudžetą, išleido jį šifravimo darbui ir pranešė sveiką greitį. Niekas rezultate nepasako, kas nutinka, kai balansas pasiekia nulį. Benchmark išmatavo burstą, o burstas yra tai, ką instancija sukurta tiekti. Jis niekada neišmatavo pastovios būsenos, kuria ketinate remtis.

Aritmetika, kurią turite atlikti

Įvestys yra bazinės linijos procentas vienam vCPU, vCPU skaičius, sukauptas balansas ir numatoma apkrova. Tik iliustracijai paimkime hipotetinę instanciją su dviem vCPU, dešimties procentų bazine linija vienam vCPU, 24 sukauptais kreditais ir vienu visiškai užimtu vCPU, kol kitas tuščias. Šie skaičiai yra deklaruotos įvestys, o ne kokio nors konkretaus instancijos dydžio specifikacija.

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 hours

Pagal šias prielaidas biudžetas išsenka maždaug per pusvalandį. Foninis darbas, kintanti apkrova ir pačios instancijos apskaita keičia rezultatą, ir niekas iš to nenuspėja VPN pralaidumo. Tai nuspėja, kada pradės veikti nuolatinis apribojimas.

Atkreipkite dėmesį ir į antrąjį rodmenį: šiame pavyzdyje vienas užimtas vCPU yra maždaug pusė bendros CPU talpos. Vidutinis bendras procentas gali paslėpti prisotintą branduolį, todėl žiūrėkite į elgseną pagal branduolį kartu su kreditų skaičiais.

Standard ir Unlimited: tas pats nulis, skirtinga reikšmė

Standard režimu išnaudotas balansas riboja nuolatinį CPU link bazinės linijos. Instancija toliau dirba, tik lėčiau, ir lubos yra nuspėjamos. Unlimited režimu instancija gali toliau semtis iš perteklinių kreditų, kai balansas pasiekia nulį, o nuolatinis naudojimas virš bazinės linijos gali sukurti mokesčius pagal paslaugos apskaitos taisykles.

Taigi CPUCreditBalance, lygus nuliui, reiškia ribojimą vienu režimu ir galimą sąskaitą kitu. Tai ir yra visas palyginimas, ir todėl metrikos skaitymas be režimo yra klaidinantis.

Perteklius taip pat nėra paprasta sąskaita už kreditą. Vėlesnis darbas žemiau bazinės linijos gali sumažinti pertekliaus naudojimą, ir galioja kitos mokesčių sąlygos. Patikrinkite sukonfigūruotą režimą ir galiojančias paslaugos taisykles, o ne remkitės nemokamo lygio teiginiu iš seno tinklaraščio įrašo.

Į ką atkreipti dėmesį realaus darbo metu

Užrašykite CPUCreditUsage ir CPUCreditBalance prie perdavimo trukmės ir greičio. Unlimited atveju pridėkite CPUSurplusCreditBalance ir CPUSurplusCreditsCharged. AWS CPU kreditų stebėjimo vadovas paaiškina, ką kiekvienas praneša ir kaip dažnai.

Pakartokite testą su reprezentatyviu lygiagretumu ir pakankama trukme, kad pamatytumėte tendenciją, ir užrašykite pradinį balansą. Tuščias rytas ir užimta popietė nėra tas pats eksperimentas, net su tais pačiais komandomis.

Ribos, kurios nėra CPU

Tinklo pralaidumas turi savo bazinę liniją ir burst elgseną, o paketų dažnio arba jungčių leidimai gali apriboti anksčiau nei CPU. Atmintis svarbi, kai VPN įgyvendinimas saugo būseną kiekvienai jungčiai, ir maža instancija gali ją išnaudoti daug anksčiau nei kreditus.

Taigi sveikas kreditų balansas įrodo vieną dalyką: CPU biudžetas nėra dabartinis apribojimas. Jis nieko nesako apie tinklo kelią ir nieko nesako apie tai, kas nutinka dvigubai padidėjus lygiagretumui. Stebėkite tinklo metrikas tame pačiame lange kaip kreditų metrikas, kad pralaidumo kritimas turėtų tikėtiną priežastį, o ne teoriją.

Sąmoningai pasirinkti bazinę liniją

Naudokite išmatuotą nuolatinę darbo apkrovą bazinės linijos pasirinkimui arba aiškiai priimkite bursting ir numatykite jam biudžetą. Abu atsakymai yra apginami, kai užrašyti; nė vienas nėra apginamas, kai išvedamas iš kito žmogaus sėkmingo vaizdo srauto.

Jei gateway laiko apkrovą, traktuokite kreditų režimą kaip pajėgumų plano dalį, o ne kaip numatytąją nuostatą, kurios niekada neatidarėte. Pasirinktas režimas yra gedimas, kurį galite numatyti.

Susiję straipsniai