Zvěsti přicházejí dřív než protokol. Zeptejte se okolo a SSTP je to pomalé, volba, které se vyhýbáte, dokud vás k ní něco nedonutí. Ta pověst popisuje jeden režim selhání na jednom druhu cesty.

Mechanismus je skutečný. Je také podmíněný, což pověst nikdy nezmiňuje.

Dva spolehlivé proudy na jedné cestě

SSTP zabaluje svůj tunel do relace HTTPS. HTTPS běží nad TCP a tento vnější proud zaručuje doručení v pořadí. Jediný chybějící segment proto zdrží vše, co se za ním řadí. Pozdější bajty patřící jiným vnitřním konverzacím stejně čekají.

Vnitřní toky TCP si udržují vlastní pořadí a řízení přetížení. Nemohou vidět vnější obnovu, takže vše, co pozorují, je zaseknutí. Zaseknutí je signál, který jim říká, že cesta je přetížená.

Nyní obě vrstvy ustupují ve stejnou chvíli. To je celá interakce a jediný ztracený segment stačí k jejímu spuštění.

Kde se efekt objevuje a kde ne

Na čisté cestě vnější proud málokdy něco obnoví. Interakce se nikdy nespustí a SSTP nese interaktivní provoz naprosto dobře. Všeobecné tvrzení selhává právě v tomto bodě.

Efekt se objeví, když ztráta nebo přeskupení dosáhnou podkladové cesty. Přetížené připojení Wi-Fi nebo mobilní připojení s proměnnou latencí vytváří podmínky. Zablokovaná vnější fronta se pak promění ve viditelné zpoždění uvnitř tunelu.

Škáluje také se zatížením. Mnoho paralelních toků zaplní frontu a zhorší blokování na čele fronty. Jedna interaktivní relace na stejné cestě může působit přijatelně.

Čím symptom obvykle není

Ne každá pomalá relace je tento problém. Stálá nízká rychlost od prvního paketu ukazuje na kapacitu, tvarování nebo limit serveru. Pauzy, které se kryjí s místním přetížením, ukazují na fronty na přístupovém spoji.

Prostředky se liší, proto diagnóza přichází první. Ladění vyrovnávacích pamětí nic neudělá pro tvarované spojení. Změna protokolů nic neudělá pro server, kterému došla kapacita. Opakované resety ukazují úplně jinam.

# outer path quality to the SSTP endpoint
ping -c 50 203.0.113.44 | tail -3
mtr -rwc 50 203.0.113.44

# is the local link saturated while the session stalls?
sar -n DEV 2 5

# retransmissions on the outer connection
ss -tin dst 203.0.113.44

Měřte, dokud problém probíhá. Snímek pořízený ve zdravé minutě nic nedokazuje o smyčce, která běží v té špatné.

Srovnání, kterému stojí za to věřit

Pokud je skutečně dostupný jiný transport, porovnejte ho za kontrolovaných podmínek. Stejný hostitel, stejná síť, stejné cílové místo a stejný úkol. Oba běhy musí proběhnout ve stejných deseti minutách, aby se podmínky cesty shodovaly.

Změna portu nemění protokol. Import nesouvisejícího profilu do klienta SSTP nevytváří alternativní transport. Srovnání má smysl jen tehdy, když server nabízí druhou možnost.

Udržujte ověřování TLS po celou dobu zapnuté. Práce na výkonu není důvod přijmout neověřený certifikát. Pokud se zaseknutí objevují hlavně tehdy, když je odchozí spojení nasycené, podívejte se na fronty, než obviníte vrstvy.

Související články