Burstable EC2 VPN: звычайныя ці неабмежаваныя крэдыты CPU?
Адзін рэжым абмяжоўвае на базавай лініі, другі працягвае працу і можа выставіць рахунак. Палічыце крэдыты, перш чым малы інстанс стане вашым шлюзам.
Малы VPN-шлюз праходзіць тэст хуткасці, выглядае добра, а потым пасля абеду пагаршаецца. Інстанс не хлусіў падчас тэсту; ён траціў крэдыты, якія зарабіў, калі прастойваў. Burstable-інстансы створаны менавіта для гэтага, таму кароткі бэнчмарк дрэнна прадказвае пасляабедзенныя перадачы. Два рэжымы крэдытаў таксама збаўляюць па-рознаму, і выбар паміж імі — гэта сапраўднае рашэнне.
Адкуль тэст хуткасці пазычыў
Адзін крэдыт CPU — гэта адзін vCPU, які працуе з поўнай загрузкай адну хвіліну. Burstable-інстанс зарабляе крэдыты з хуткасцю сваёй базавай лініі і траціць іх, калі яе перавышае. Прастойная ноч стварае баланс; заняты ранак яго змяншае.
Менавіта таму першы тэст выглядае добра. Інстанс меў зберажоны бюджэт, патраціў яго на працу шыфравання і паведаміў добрую хуткасць. Нішто ў выніку не кажа, што адбудзецца, калі баланс дасягне нуля. Тэст вымераў усплеск, а ўсплеск — гэта тое, для чаго інстанс і прызначаны. Ён ніколі не вымераў устойлівы стан, на які вы збіраецеся абапірацца.
Арыфметыка, якую трэба зрабіць
Уваходныя даныя — гэта працэнт базавай лініі на кожны vCPU, колькасць vCPU, назапашаны баланс і нагрузка, якую вы чакаеце. Толькі для ілюстрацыі: вазьміце гіпатэтычны інстанс з двума vCPU, базавай лініяй дзесяць працэнтаў на vCPU, 24 назапашанымі крэдытамі, дзе адзін vCPU цалкам заняты, а другі прастойвае. Гэтыя лікі — абвешчаныя ўваходныя даныя, а не спецыфікацыя нейкага пэўнага памеру інстанса.
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Пры такіх здагадках бюджэт сканчаецца прыкладна за паўгадзіны. Фонавая праца, зменлівая нагрузка і ўласны ўлік інстанса зрушваюць вынік, і нішто з гэтага не прадказвае прапускную здольнасць VPN. Яно прадказвае, калі ўстойлівае абмежаванне пачне адчувацца.
Звярніце ўвагу і на другое чытанне: адзін заняты vCPU — гэта прыкладна палова агульнай ёмістасці CPU у гэтым прыкладзе. Умераны агульны працэнт можа хаваць насычанае ядро, таму глядзіце на паводзіны па ядрах разам з лікамі крэдытаў.
Standard і Unlimited: той самы нуль, іншае значэнне
У рэжыме Standard вычарпаны баланс стрымлівае ўстойлівы CPU да базавай лініі. Інстанс працягвае працаваць, проста павольней, і столь прадказальная. У рэжыме Unlimited інстанс можа працягваць браць з пазапланавых крэдытаў пасля таго, як баланс дасягнуў нуля, і ўстойлівае выкарыстанне вышэй за базавую лінію можа прывесці да налічэнняў па правілах уліку сэрвісу.
Такім чынам, CPUCreditBalance роўны нулю азначае абмежаванне ў адным рэжыме і магчымы рахунак у другім. Гэта ўсё параўнанне, і менавіта таму чытанне метрыкі без чытання рэжыму ўводзіць у зман.
Перавышаныя крэдыты — таксама не просты рахунак за крэдыт. Наступная праца ніжэй за базавую лінію можа пагасіць выкарыстанне перавышэння, і дзейнічаюць іншыя ўмовы налічэння. Праверце наладжаны рэжым і бягучыя правілы сэрвісу, а не спадзявайцеся на заяву пра бясплатны ўзровень з старога допісу ў блозе.
За чым сачыць падчас рэальнай працы
Запісвайце CPUCreditUsage і CPUCreditBalance побач з працягласцю і хуткасцю перадачы. У Unlimited дадайце CPUSurplusCreditBalance і CPUSurplusCreditsCharged. Кіраўніцтва AWS па маніторынгу крэдытаў CPU тлумачыць, што паведамляе кожны з іх і як часта.
Паўтарыце тэст з рэпрэзентатыўнай адначасовасцю і дастатковай працягласцю, каб убачыць тэндэнцыю, і запішыце пачатковы баланс. Прастойная раніца і заняты абед — не той самы эксперымент, нават з аднолькавымі камандамі.
Абмежаванні, якія не CPU
Сеткавая прапускная здольнасць мае сваю базавую лінію і паводзіны ўсплеску, а дапускі па хуткасці пакетаў ці злучэнняў могуць спрацаваць раней за CPU. Памяць важная, калі рэалізацыя VPN захоўвае стан на кожнае злучэнне, і малы інстанс можа вычарпаць яе задоўга да таго, як скончацца крэдыты.
Такім чынам, здаровы баланс крэдытаў даказвае адно: бюджэт CPU не з’яўляецца бягучым абмежаваннем. Ён нічога не кажа пра сеткавы шлях і нічога пра тое, што будзе пры падвоенай адначасовасці. Назірайце за сеткавымі метрыкамі ў тым жа акне, што і за метрыкамі крэдытаў, каб падзенне прапускной здольнасці мела меркаваную прычыну, а не тэорыю.
Выбар базавай лініі свядома
Выкарыстоўвайце вымераную ўстойлівую нагрузку, каб выбраць базавую лінію, або свядома прымайце ўсплескі і плануйце бюджэт на іх. Любы адказ апраўданы, калі ён запісаны; ні адзін не апраўданы, калі ён выведзены з чужога паспяховага відэапатоку.
Калі шлюз нясе асноўную нагрузку, стаўцеся да рэжыму крэдытаў як да часткі плана ёмістасці, а не як да прадвызначанага значэння, якое вы ніколі не адкрывалі. Рэжым, які вы выбіраеце, — гэта збой, які вы можаце прадказаць.