Mała brama VPN przechodzi test szybkości, wydaje się w porządku, a po obiedzie zwalnia. Instancja nie kłamała podczas testu; wydawała kredyty zarobione w czasie bezczynności. Instancje burstable są zaprojektowane dokładnie do tego, co czyni krótki benchmark złym predyktorem całego popołudnia transferów. Dwa tryby kredytów zawodzą też na różne sposoby, a wybór między nimi to prawdziwa decyzja.

Skąd test szybkości pożyczył

Jeden kredyt CPU to jeden vCPU pracujący z pełnym wykorzystaniem przez minutę. Instancja burstable zdobywa kredyty w tempie swojego poziomu bazowego i wydaje je, gdy przekracza ten poziom. Bezczynna noc buduje saldo; pracowity poranek je zużywa.

Dlatego pierwszy test wygląda dobrze. Instancja miała odłożony budżet, wydała go na pracę szyfrowania i zgłosiła zdrową szybkość. Nic w wyniku nie mówi, co się stanie, gdy saldo osiągnie zero. Benchmark zmierzył burst, a burst to właśnie to, co instancja ma dostarczać. Nigdy nie zmierzył stanu ustalonego, na którym zamierzasz się oprzeć.

Arytmetyka, którą musisz wykonać

Dane wejściowe to procent poziomu bazowego na vCPU, liczba vCPU, zgromadzone saldo i oczekiwane obciążenie. Wyłącznie dla ilustracji weź hipotetyczną instancję z dwoma vCPU, dziesięcioprocentowym poziomem bazowym na vCPU, 24 zgromadzonymi kredytami i jednym vCPU w pełni zajętym, podczas gdy drugi jest bezczynny. Te liczby to zadeklarowane dane wejściowe, a nie specyfikacja konkretnego rozmiaru instancji.

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

Przy tych założeniach budżet znika w około pół godziny. Praca w tle, zmienne obciążenie i własna księgowość instancji zmieniają wynik, a nic z tego nie przewiduje przepustowości VPN. Przewiduje ona, kiedy trwałe ograniczenie zacznie dawać się we znaki.

Zwróć uwagę także na drugi odczyt: w tym przykładzie jedno zajęte vCPU to mniej więcej połowa łącznej wydajności CPU. Umiarkowany odsetek ogółem może ukryć nasycony rdzeń, więc patrz na zachowanie poszczególnych rdzeni obok liczb kredytów.

Standard i Unlimited: to samo zero, inne znaczenie

W trybie Standard wyczerpane saldo ogranicza trwałe CPU w stronę poziomu bazowego. Instancja nadal pracuje, tylko wolniej, a pułap jest przewidywalny. W trybie Unlimited instancja może dalej czerpać z nadwyżkowych kredytów po osiągnięciu zera, a trwałe użycie powyżej poziomu bazowego może powodować opłaty zgodnie z zasadami księgowymi usługi.

Zatem CPUCreditBalance równe zeru oznacza dławienie w jednym trybie i możliwe rozliczenie w drugim. To całe porównanie i dlatego czytanie metryki bez trybu jest mylące.

Nadwyżka też nie jest prostym rachunkiem za kredyt. Późniejsza praca poniżej poziomu bazowego może ją spłacać, a obowiązują inne warunki opłat. Sprawdź skonfigurowany tryb i aktualne zasady usługi, zamiast polegać na twierdzeniu o darmowym planie ze starego wpisu na blogu.

Na co patrzeć podczas rzeczywistej pracy

Zapisuj CPUCreditUsage i CPUCreditBalance obok czasu trwania i szybkości transferu. W trybie Unlimited dodaj CPUSurplusCreditBalance i CPUSurplusCreditsCharged. Przewodnik AWS po monitorowaniu kredytów CPU wyjaśnia, co raportuje każdy z nich i jak często.

Przetestuj ponownie przy reprezentatywnej współbieżności i wystarczająco długo, by zobaczyć trend, i zapisz saldo początkowe. Bezczynny poranek i pracowite popołudnie to nie ten sam eksperyment, nawet przy identycznych poleceniach.

Ograniczenia, które nie są CPU

Przepustowość sieci ma własny poziom bazowy i zachowanie burst, a limity tempa pakietów lub połączeń mogą zadziałać wcześniej niż CPU. Pamięć ma znaczenie, gdy implementacja VPN utrzymuje stan na połączenie, a mała instancja może ją wyczerpać znacznie wcześniej niż kredyty.

Zdrowe saldo kredytów dowodzi więc jednego: budżet CPU nie jest obecnym ograniczeniem. Nie mówi nic o ścieżce sieciowej ani o tym, co się dzieje przy dwukrotnie większej współbieżności. Obserwuj metryki sieci w tym samym oknie co metryki kredytów, aby spadek przepustowości miał prawdopodobną przyczynę, a nie teorię.

Świadomy wybór poziomu bazowego

Użyj zmierzonego trwałego obciążenia, by wybrać poziom bazowy, albo wyraźnie zaakceptuj bursting i zaplanuj na niego budżet. Obie odpowiedzi są do obrony, gdy są zapisane; żadna nie jest, gdy wynika z cudzego udanego strumienia wideo.

Jeśli brama dźwiga obciążenie, traktuj tryb kredytów jako część planu wydajności, a nie ustawienie domyślne, którego nigdy nie otworzyłeś. Wybrany tryb to awaria, którą możesz przewidzieć.

Powiązane artykuły