Rukověť rozčileného zákazníka argumentujícího měřením

Čas od času si někdo z našich zákazníků stěžuje relativně ostrými slovy na rychlost svého připojení a svoji argumentaci staví na nějakém typu měření, které provedl. Velká většina těchto stížností vyúsťuje v situace dosti rozpačité. V následujícím pojednání si ukážeme, proč tomu tak je.

Co vlastně bylo změřeno?

Nejčastějším typem měření bývá testovací FTP nebo HTTP download z oblíbeného serveru. Výsledná průměrná rychlost přenosu je pak použita k vynesení verdiktu, že zákazník je providerem podváděn.

Testovací download má několik nesporných výhod - je dostupný každému a bezprostřední význam čísla, které je jeho výsledkem, je obecně a intuitivně srozumitelný. Tyto populární vlastnosti testovacího downloadu jsou ovšem taky pramenem jeho ošidnosti. Snadná pochopitelnost jednoduchého faktu, že jsem právě stáhl nějaká data z jistého serveru rychlostí x kilobitů za sekundu, svádí k domněnce, že usoudit, proč rychlost byla právě x Kbps, ne víc a ne míň, bude stejně snadné.
Bohužel, není tomu tak.

Vypovídací schopnost testovacího downloadu je významně snížena faktem, že měří příliš mnoho věcí.
Výsledná hodnota rychlosti vzniká působením velkého množství faktorů, a všechny tyto vlivy se beze stopy smíchají v jediném čísle, které v sobě nenese žádnou informaci o tom, jak vzniklo. Cesta mezi uživatelem Internetu a jeho oblíbeným FTP serverem je často dlouhá a skládá se z relativně mnoha (typicky více než 10, velmi často více než 20) směrovačů a spojů mezi nimi - včetně spojů na vaší lokální síti. Rychlosti všech těchto spojů jsou (spolu s rychlostí FTP serveru samotného) seřazeny za sebou na způsob řetězu. O řetězu je obecně známo, že je jen tak silný, jak silný je jeho nejslabší článek. To znamená, že přítomnost jediného pomalého nebo chybového spoje kdekoliv podél cesty, zrovna tak jako přetíženost serveru samotného, způsobí nízkou hodnotu výsledné rychlosti.

To samé pak platí o různých "měřičích rychlosti", na které se dá narazit porůznu na webu. I ony měří agregovanou přenosovou kapacitu celé trasy mezi serverem, na kterém "měřič" běží, a uživatelem - tedy něco, co má s kvalitou služby, kterou uživatel dostává od svého providera, často pramálo společného (o tom více viz níže).

Bylo to vůbec změřeno?

Různé webové "speedometry" obvykle fungují na tom samém principu jako testovací download (používají HTTP přenos), ale často mají oproti "ručně" provedenému testu ještě jeden problém navíc. Za normálních okolností si totiž uživatel pro testovací download vybere soubor dostatečné velikosti, neboť chápe, že propustnost tras v Internetu podléhá okamžitým fluktuacím, a pokud chce dostat číslo, které alespoň o něčem vypovídá, musí nechat datový přenos běžet nějakou dobu. Webové "měřiče", pravděpodobně ve snaze nenechat uživatele příliš dlouho čekat, ovšem typicky používají pro testovací přenos příliš malé množství dat, například pouhých 100 KB. Za pomoci 100 KB dat je ovšem zřídka možné získat reprezentativní výsledek, už kolem čtvrtmegabitových rychlostí přenos tak malého množství dat trvá pouze několik vteřin, což je skutečně příliš krátká doba na to, aby se získané číslo dalo použít byť i jenom jako velmi hrubá charakteristika agregovaných vlastností celé cesty (nehledě na to, že se taky významně zvětšují chyby měření samotného). Jinými slovy, takto získané číslo bude v čase fluktuovat až k nepoužitelnosti. (A znovu musíme zdůraznit, že se i zde, stejně jako u testovacího downloadu, měří pouze agregované vlastnosti celé cesty mezi uživatelem a serverem).

Velmi rozsáhlá je skupina problémů, které je sice možné považovat za triviální, které však dokážou zkreslit výsledek měření stejně účinně jako cokoliv jiného.
Mezi těmito jednoduchými důvody, proč měření dává nerealisticky nízký výsledek, asi v četnosti vede situace, kdy testovací download není jediným přenosem, který v době testu používá linku.Je důležité si uvědomit, že často není vůbec lehké zajistit si pro účely testování linku jen pro sebe. Ve firmách, kde je více uživatelů internetového připojení, bývá někdy překvapivě složité zorganizovat je tak, aby skutečně po nějakou dobu linku nepoužívali - pokud nemáme možnost je prostě fyzicky odpojit. Ještě horší je ale málo doceňovaná skutečnost, že počítače, kterých se toto pojednání týká, jsou obvykle nacpané síťovým softwarem, který má tendenci "žít si svým vlastním životem". Uživatel obvykle nemá přístup k fyzickému internetovému spoji jako takovému, ani paketový analyzátor, aby mohl zjistit, že v době, kdy si myslí, že linka je volná, se ve skutečnosti dějí věci. Může probíhat například odesílání mailu. Ne každý si uvědomí, že mail, který odeslal před hodinou, může stále ještě odcházet a plnit linku provozem, pokud měl například velkou přílohu nebo pokud má cílový server nějaké problémy. Může probíhat i odložené odesílání - když uživatel stiskne tlačítko "Odeslat", jeho poštovní software obvykle předá mail k doručení zkonfigurovanému SMTP serveru. Pokud se mu to nepodaří, nebo i pokud se mu to podaří, ale SMTP server se nachází ještě na lokální síti uživatele a konečný příjemce není dostupný, mail ještě neopustil lokální síť uživatele, tedy neprošel jeho internetovým připojením, a to přesto, že mailový klient se tváří, že mail byl odeslán. Takový mail leží někde ve frontě a periodicky je znovu a znovu odesílán, dokud se jeho odeslání nepodaří. Tento provoz je neviditelný, zjistit, že ve frontě leží maily, vyžaduje obvykle administrátorské znalosti a přístupová práva. Zjistit pak, že pokus odeslat odložený mail probíhá právě teď a že linka tedy není volná, vyžaduje už zmíněný privilegovaný přístup k internetové gatewayi umožňující spouštět paketový analyzátor - což není u uživatelů typické.

Mezi další běžné těžkosti patřící do kategorie "neviditelného" provozu patří dále obyčejné přijímání mailu (ano, i přijatý mail je neviditelný do okamžiku svého doručení) a v posledních měsících a letech také množství virů. Toto se týká také různých peer-to-peer sítí pro sdílení souborů - někdy si člověk neuvědomí, že přestože on sám nic nestahuje, někdo může kdykoliv začít stahovat od něj.

Hledání viníka

V průběhu předchozího textu jsme několikrát významně zdůraznili skutečnost, že testovací přenosy výše popisovaných druhů vždy (více či méně chatrně) charakterizují celou trasu mezi uživatelem Internetu a serverem, který k testu používá. Zde si povíme, proč je to tak důležité.

Pokud má totiž měření sloužit jako podklad pro stížnost na providera, mělo by charakterizovat službu poskytovanou tímto providerem. Bohužel, obvykle prováděné testy rychlosti testují příliš mnoho věcí, z nichž jenom menší část je pod kontrolou kteréhokoliv konkrétního providera. Provider má samozřejmě vliv na kvalitu své vlastní sítě, o poznání slabší vliv na sítě svých sousedů a typicky žádný reálný vliv na celý zbytek Internetu. V tomto principu jsou si všichni provideři rovni, a kdyby někdo z nich tvrdil, že ručí za definované vlastnosti cesty k libovolnému stroji na Internetu, potom slibuje něco, co nemůže splnit. V tomto světle je patrná slabina všech testů založených na testovacích downloadech. Selhání nějaké linky daleko mimo vliv vašeho providera vás může svést k domněnce, že váš provider je špatný, a k nepodloženému osočení ze špatné kvality poskytovaných služeb. Čím je toto osočení rázněji prezentováno a prosazováno, tím je pak situace rozpačitější, až se ukáží fakta. Obzvlášť pikantní je, když se nakonec ukáže, že ne náš zákazník, nýbrž "speedometer" sám je připojen špatnou linkou! Proto je nutné nepřeceňovat výsledky získané různými druhy testovacích přenosů.

Je zákazník bezmocný?

Možná se zdá, že tu šíříme jakýsi druh technického agnosticismu, když popisujeme počítačovou síť jako nepoznatelnou příšeru bez vlastností, jako něco, o čem se nedá mluvit, protože všechno, co by mohlo být řečeno, je buď nejisté, nebo nepravdivé, jako svět, ve kterém je zákazník vydán napospas svému dodavateli, kvalitu jehož služeb nemůže nijak ověřit. Není tomu tak.

Je sice pravda, že člověk bez speciálního vzdělání, zkušeností a nástrojů profesionální administrátory počítačových sítí v měření a interpretaci jeho výsledků asi nepředstihne. To ale není nic nového, nikdo by asi nečekal, že jako laik bude schopen silou svých argumentů rutinně zahánět do kouta třeba lékaře-specialisty. Na druhou stranu, ačkoliv jsme doposud vyzývali jenom k nepřeceňování běžné, "neexaktní" nebo "nepříliš exaktní" zkušenosti s poskytovanou službou, teď nastává čas pro výzvu k jejímu nepodceňování.

Pokud máte pocit, že něco není, jak má být - napište , volejte, dejte nám vědět, s čím nejste (nebo i jste) spokojeni.