Задайте бюджет за закъснение за трафик в реално време през VPN
Започнете от крайния срок, който приложението трябва да спази, след което измерете еднопосочното закъснение и джитера при посочени условия. Средна стойност без праг за закъснели пакети не доказва нищо.
Оплакванията за VPN в реално време се нуждаят от краен срок, срещу който да се провалят, а „ниското закъснение“ не е такъв. Решете какво трябва да достави разговорът или отдалечената сесия, след което измерете пътя спрямо това изискване при посочени условия. Без праг за закъснели пакети всеки резултат е спорен. Разпределението по-долу е проектно решение и съществува, за да има измерването на какво да отговори.
Запишете крайния срок, преди да докоснете сонда
Крайният срок идва от приложението и неговите потребители, не от маркетингова страница на доставчик. Гласово обаждане на живо, сесия на отдалечен работен плот и нощен архив понасят напълно различни времена на изчакване и провалът, който има значение, обикновено е опашката, а не медианата. Запишете числото заедно с натоварването, към което принадлежи.
След това го разпределете. Захващането и пакетирането изразходват част от бюджета, достъпната връзка и тунелът — друга част, буферът за премахване на джитер при получателя умишлено задържа пакети, а обработката в приложението взема останалото. Назоваването на тези етапи държи шифроването на тунела в пропорция, вместо да го прави подразбиращ се заподозрян за всеки бавен пакет.
Накрая дефинирайте договора за измерване в четири реда: крайни точки и посока, форма на трафика, условия по време на пускането и резултатът, за който ще докладвате. Тиха неделна извадка и натоварена вторнична извадка отговарят на различни въпроси, затова посочете коя сте събрали. Ако не можете да попълните и четирите реда, пускането не е готово да започне. Този контролен списък е и това, което прави два доклада сравними месеци по-късно, когато вече никой не помни какво друго е носил каналът.
Разпределете бюджета по всеки етап
Таблицата е помощно средство за планиране, а не събрани данни. Попълнете собственика за всеки ред преди първата сонда, защото собственикът е този, на когото се обаждате, когато този етап надхвърли своя дял.
| Stage | What it contributes | Who owns it |
|---|---|---|
| Capture and packetization | Encoder frame size, aggregation | Application owner |
| Tunnel and transit | Encryption, queueing, path length | Network owner |
| Receiver buffer | Deliberate waiting to absorb variation | Application owner |
| Application processing | Decode and render time | Application owner |
Два реда обикновено изненадват хората. Буферът на получателя не е дефект, когато добавя закъснение, защото върши работата, за която е конфигуриран. А делът на тунела често е по-малък от опашката пред него, особено при изходяща връзка, която се насища по време на качвания.
Когато даден етап няма собственик, бюджетът е фикция. Определете такъв, преди да измервате, иначе ще прекарате следващата среща в спор чие число е грешно.
Измерете еднопосочното закъснение с честен часовник
Еднопосочното закъснение е числото, което е важно за крайния срок, и то изисква синхронизирани часовници в двата края. Метриката за еднопосочно закъснение изисква да докладвате метода на синхронизация, разделителната способност и оцененото отклонение заедно с резултата. Два несинхронизирани хоста могат да дадат много точен резултат за грешното количество.
Захванете няколкостотин пакета, а не шепа, и запишете състоянието на часовника по същото време:
$ ntpq -p
$ owping -c 300 -i 0.2 10.90.0.1
$ ping -c 200 -i 0.2 10.90.0.1 | tail -n 3
Времето за двупосочно пътуване е отделно измерване, а не две еднопосочни стойности, събрани заедно. Разполовяването на RTT предполага симетрични пътища и симетрични опашки, а тунел през мобилна изходяща връзка редовно нарушава и двете допускания. Докладвайте RTT като RTT и го дръжте извън еднопосочния бюджет.
Докладвайте опашката и закъснелите пакети
Обобщете разпределението: медиана, 95-и и 99-и персентил, най-лош случай, загуба и броят на пакетите, пристигнали по-късно, отколкото крайният срок позволява. Средната стойност е най-малко полезната от тези числа за натоварване в реално време, защото гладка средна стойност може да скрие опашка, която съсипва всяко трето обаждане.
Вариацията на закъснението захранва директно буферирането на получателя. Повече буфериране скрива вариацията и добавя изчакване, така че потокът може да изглежда стабилен, докато надхвърля крайния си срок. Изберете формулировка за вариацията, посочете интервала, за който сте мерили, и я поддържайте последователна между пусканията.
Повторете пускането с представителен кръстосан трафик. Път, който спазва бюджета в покой и го пропуска по време на прозорец за архив, ви е казал нещо полезно за планирането, което нито едно тихо измерване не би разкрило. Записвайте условията до резултата, защото следващият инженер иначе ще сравни две извадки, които никога не са били сравними.
Приемете дизайна, когато измерената опашка се побира в бюджета при натоварването, което реално изпълнявате, и го отхвърлете с посочения в доклада етап, който е превишил.