Dvě procenta ztráty během dlouhého běhu ping vypadají jako číslo, se kterým se dá něco dělat, a málokdy tomu tak je. Neříká, kde odpovědi zmizely, zda zmizely společně, ani jak ten interval prožila konkrétní aplikace. Ztráta rovnoměrně rozložená do minuty a ztráta nahromaděná uvnitř jedné výměny dávají pro stejné procento velmi odlišné výsledky.

Porovnejte tři měření místo toho, abyste věřili jednomu: co viděla sonda, co udělaly čítače rozhraní a na co aplikace skutečně čekala.

Co procento ztráty z pingu vlastně měří

Echová sonda testuje jeden směr jednoho protokolu s jednou velikostí paketu, tempem, které jste zvolili. Tunel přenášející velké nahrávání dělá něco úplně jiného a spoj, který zahazuje malé sondy, nemusí být spoj, který škodí přenosu. Procento také rozmělňuje časovou informaci, na které záleží nejvíc, protože deset ztracených odpovědí v jednom nárazu není totéž jako deset ztracených odpovědí hodinu od sebe. Neumí vám také říct, která strana tunelu něco zahodila.

Ponechte výsledek sondy jako nápovědu o cestě. Potom hledejte časování a hranici, která ho vytvořila.

Porovnávejte rozdíly čítačů, ne celoživotní součty

Pořiďte odečty s časovým razítkem před oknem, ve kterém se objevil příznak, a po něm, na obou koncích a na každém portu přepínače, který ovládáte. Zapisujte objem provozu spolu s chybami, zahazováním a změnami stavu spoje, protože nenulový součet nahromaděný za měsíce popisuje historii, ne tento incident. Čítač, který se během zaseknutí posunul o tři, je jiné pozorování než čítač, který ukazuje tři tisíce a nikdy se nezměnil.

ip -s link show dev eth0
nstat -az TcpRetransSegs TcpExtTCPTimeouts
date -u +%Y-%m-%dT%H:%M:%SZ

Pakety zahozené kvůli chybám příjmu a pakety zahozené z jiných důvodů žijí v oddělených čítačích a tento rozdíl mění další postup. Chybové čítače ukazují na fyzickou vrstvu nebo vrstvu ovladače, zatímco tlak front a zahození podle zásad ukazují někam nad ni. Zachovejte také směr a název rozhraní, protože nárůst chyb příjmu na vzestupném spoji a čítač paketů tunelu nejsou zaměnitelné.

Pokud ovladač zpřístupňuje podrobné fyzické čítače, čtěte je podle dokumentace toho adaptéru. Přisoudit jeden význam každému poli nazvanému “drop” u dvou výrobců je způsob, jak se běžná účetní zvláštnost stane hardwarovou diagnózou.

Jak se ztracený segment stane dlouhým čekáním

Aplikace může po ztrátě segmentu čekat mnohem déle než jeden kruhový přenos. TCP odhaduje dobu kruhového přenosu, z tohoto odhadu počítá časovač opakovaného přenosu a ustupuje, když selže i opakovaný přenos, takže jediný ztracený segment ve špatném okamžiku může zastavit požadavek na znatelný interval. Tento mechanismus je popsán v RFC 6298 a vysvětluje, proč lze míru ztráty, která vypadá triviálně, přesto pocítit.

Ne každá pauza je ale vypršení časovače opakovaného přenosu. Stejné čekání může pocházet z překladu jmen, pomalého serveru nebo aplikace, která po selhání znovu zkouší svůj vlastní požadavek. Tyto případy oddělte tím, že neúspěšnou operaci sladíte s pozorováním transportu a s vlastními událostmi relace tunelu. Přerušení na datové cestě bez opětovného připojení je jiná událost než nové navázání spojení a výměna přihlašovacích údajů.

Kde je zachytávání povoleno, držte ho úzké. Potřebujete vědět, zda se očekávané pakety nebo potvrzení zastavují na určité hranici, ne že se někde v rušné stopě vyskytuje opakovaný přenos.

Změňte jednu hranici, aniž byste hnuli ostatními

Pokud důkazy ukazují na místní spoj, nahraďte schválený kabel nebo port jako kontrolované srovnání a vše ostatní nechte být. Udržte koncový bod, aplikaci a zátěž srovnatelné a při každém pokusu změňte právě jednu hranici. Srovnávat kabelový notebook s bezdrátovým a zároveň přepínat výstupy a protokoly vám neřekne nic, co byste mohli připsat.

Čisté místní čítače neosvědčují zbytek cesty. Ohraničují část, kterou vidíte, a poctivá zpráva říká, které hranice byly pozorovány a které ne. Nakonec chcete tvrzení, že se jedno pozorování změnilo, když došlo k jednomu zásahu, ne historku o špatném kabelu povýšenou na univerzální pravidlo.

Související články