Перадача паскорылася пасля таго, як адрас зарэзервавалі, і выснова напісалася сама. Але тое ж змяненне яшчэ і пераключыла тунель з UDP на TCP, перанесла тэст на іншы вечар і, магчыма, патрапіла на VM у іншай зоне. Рэзерваванне знешняга адраса выпраўляе праблему жыццёвага цыклу: яно захоўвае канчатковы пункт нязменным паміж перазапускамі. У яго няма ніякага механізму, які паскорыў бы пакеты, таму розніца ў хуткасці ў тым эксперыменце належыць іншым зменным, і рашэнне, якое стаіць перад вамі, — якую з іх тэставаць наступнай.

Што насамрэч дае зарэзерваваны адрас

Compute Engine адрознівае эфемерныя адрасы, якія выдзяляюцца і вызваляюцца разам з інстансам, ад статычных адрасоў, якія вы рэзервуеце і трымаеце. Гэтая розніца датычыцца захавання і білінгу, а не шляху, які праходзіць пакет. Стабільны канчатковы пункт сапраўды карысны для запісаў DNS, профіляў аддаленага доступу, спісаў дазволаў партнёраў і правілаў фаервала, якія не павінны змяняцца пры перазапуску VM.

Гэта добрыя прычыны зарэзерваваць адрас. Ні адна з іх не звязана з прапускной здольнасцю.

Трымайце ўзровень, адрас і транспарт як тры зменныя

Google Cloud таксама прадае ўзроўні сеткавага сэрвісу Premium і Standard, і яны ідуць рознымі шляхамі ў інтэрнэт з рознай даступнасцю функцый. Статычная адрасацыя артаганальная да абодвух, таму стаўцеся да статыкі і Premium як да незвязаных фактаў пра VM, а не як да сінонімаў. Фіксуйце фактычны ўзровень, рэгіён і любы interconnect або attachment, бо яны апісваюць шлях так, як этыкетка адраса ніколі не апіша.

Тры зменныя, тры асобныя эксперыменты, інакш вынік — гэта гісторыя, а не вымярэнне.

Спраектуйце тэст, які адказвае на адно пытанне

Трымайце VM, адрас, месца кліента, прызначэнне і нагрузку нязменнымі, параўноўваючы зацверджаныя профілі UDP і TCP. Патрабуюцца і слухач сервера для кожнага транспарту, і адпаведныя правілы фаервала; змяніць ключавое слова кліента і пакінуць слухач нязменным — гэта тэст толькі вашага цярпення. Выкарыстоўвайце паўторную перадачу і запісвайце кірунак, працягласць, адзіночныя ці паралельныя патокі і адзінкі, бо MB/s і Mb/s розняцца ўвосем разоў.

Сачыце таксама за працэсарам VM, бо маленькі інстанс насычаецца на шыфраванні або працы softirq нашмат раней за сетку, і гэтая столь будзе выглядаць дакладна як абмежаванне правайдэра.

Лічыльнікі паўторных перадач і страт з VM і кліента аддзяляюць праблему шляху ад праблемы транспарту, а паласа прагрэсу гэтага не можа. Працаздольная паслядоўнасць з iperf3 займае каля дзесяці хвілін на транспарт. Запусціце сервер на далёкім баку, ганяйце кліента трыццаць секунд у кожным кірунку і паўтарыце кожны кірунак тройчы. Адкіньце першы запуск кожнай серыі, затым параўнайце хуткасці адпраўніка і атрымальніка разам з лікам паўторных перадач, які друкуюць запускі TCP.

Чаму UDP і TCP розняцца механічна

OpenVPN праз UDP нясе датаграмы і дазваляе ўласнаму транспарту праграмы апрацоўваць страты. Праз TCP надзейны паток тунеля ляжыць пад ужо надзейным патокам праграмы, таму адзін страчаны сегмент стопіць усё за ім, пакуль знешняе злучэнне паўтарае перадачу па сваім раскладзе. Гэтыя паводзіны на чале чаргі — уласцівасць тунелявання TCP унутры TCP, а не палітыка правайдэра. Апрацоўка MTU і MSS таксама розніцца паміж двума рэжымамі, што змяняе паводзіны фрагментацыі на тым жа шляху.

Такім чынам, больш хуткі вопыт з TCP даказвае, што TCP быў хутчэйшы ў той дзень на тым шляху, і нічога больш агульнага.

Напішыце вынік так, каб ён вытрымаў разгляд

Абараназдольная выснова мае форму: гэты профіль, на гэтым памеры машыны, на гэтым узроўні сеткі, трымаў гэтую вымераную нагрузку ў гэтым кірунку пры гэтых умовах. Усё шырэйшае патрабуе больш запускаў, чым можа даць адзін вечар. Калі павольны выпадак застаецца невытлумачаным, пакіньце яго як назіранне з доказамі па пакетах і рэсурсах, замест таго каб выдумляць абмежаванне, якога не апісвае ні адзін дакумент правайдэра.

Стабільнасць адраса і хуткасць перадачы могуць быць важныя для аднаго разгортвання, і карыснае рашэнне — якую з іх вы купляеце кожным змяненнем.

Падобныя артыкулы