RE:NODE

Jak číst ping a hopy v panelu herního serveru

Text: Tým RE:NODE
17 min čtení


Panel RE:NODE ukazuje tři síťové údaje a každý odpovídá na jinou otázku. Ping na dashboardu je doba odezvy z tvého prohlížeče na stroj, na kterém server běží, vzorkovaná každých pár sekund. Average Ping na záložce Console je průměrná odezva k tomu stroji ze sond ve 12 zemích, změřená jen tehdy, když stiskneš „Test now“. Hops je počet routerů mezi naší sítí a tvým připojením a „≥N“ znamená, že trasování ztichlo dřív, než dorazilo k tobě. Žádný z těch tří údajů není ping, který hráč vidí v tabulce skóre, a žádný neměří samotnou hru. Dohromady ale odpovídají na první otázku při každé stížnosti na lag: je to síť, a pokud ano, čí její část. Tenhle článek popisuje, z čeho se každý údaj skládá, co mu uniká a v jakém pořadí je číst, když někdo řekne, že server laguje.

Tři údaje, tři různá měření#

Než se pustíme do jednotlivých údajů, pomůže dát je vedle sebe, protože většina nedorozumění vzniká tím, že se jeden čte jako druhý.

ÚdajKde jeMěřeno z
PingDashboard, každý řádek serveruTvůj prohlížeč, každých 5 sekund
Average PingZáložka Console, pruh se statistikami12 zemí se sondami, na požádání
HopsZáložka Console, pruh se statistikamiNaše strana, směrem k tvé adrese

Údaj na dashboardu je živý a osobní. Říká, jak se tvé připojení právě teď dostává ke stroji, a o nikom jiném nic neříká. Average Ping je snímek světa pořízený ve chvíli, kdy o něj požádáš, a znovu až při další žádosti. Hops se týká trasy, ne času, a stejně jako údaj z dashboardu popisuje tebe, ne tvé hráče.

Tohle je důležitější než jakékoli číslo na stránce. Majitel serveru v jednom městě se podívá na svůj počet hopů a dozví se něco o své vlastní trase. Hráč na jiném kontinentě u jiného poskytovatele má jinou trasu s jiným počtem. Když si stěžuje hráč, pruh ti dá kontext, ale vlastní měření musí dodat on. Jak o ně požádat, popisujeme níže.

Ping na dashboardu: tvůj prohlížeč a node#

V seznamu serverů nese každý řádek vedle paměti, CPU a disku také metriku Ping. Je to doba odezvy z prohlížeče, který právě používáš, na node, na kterém server běží. Pár podrobností o tom, jak se měří, vysvětluje, proč se chová tak, jak se chová.

  • Je to načasovaný HTTP požadavek. Prohlížeč neumí poslat ICMP echo jako příkaz ping, takže panel pošle na node drobný webový požadavek a změří, jak dlouho trvá odpověď. Obsah odpovědi se nikdy nečte; důkazem odezvy je jakákoli odpověď.
  • Dva požadavky, zachová se rychlejší. První požadavek z dvojice může muset otevřít nové spojení, což stojí navíc několik oběhů, které nikdo pingem nemyslí. Druhý jede po spojení, které otevřel první. Panel si ponechá rychlejší z obou.
  • Údaj je medián. Je to prostřední hodnota z posledních pěti vzorků, takže jeden pomalý paket číslo nerozhází.
  • Jeden vzorkovač na node. Řádky serverů na stejném node sdílejí jedno měření, takže dlouhý seznam serverů provoz nenásobí.
  • Skryté záložky se nevzorkují. Dashboard nechaný otevřený na pozadí přestane měřit, dokud se na něj znovu nepodíváš.
  • Nad 250 ms se označí. Metrika se zobrazí v poplachovém stylu, když údaj překročí 250 ms.

Protože jde o HTTP měření v prohlížeči, a ne o surový ICMP paket, počítej s tím, že bude o pár milisekund nad tím, co vypíše ping ze stejného stroje. Plánování v prohlížeči, vrstva TLS i odpovídající webový server přidají trochu. Rozdíl je malý a stálý, takže údaj je pro porovnávání poctivý: tvé číslo dnes večer proti číslu z minulého týdne, nebo jeden node proti druhému.

Ping na dashboardu je dobrý hlavně na rychlou odpověď na otázku „je to u mě?“. Pokud se tvůj údaj od včerejška zdvojnásobil a na serveru se nic nezměnilo, prvním podezřelým je tvé vlastní připojení: wifi, stahování na stejné lince, VPN, o které jsi zapomněl, že běží. Pokud je na obvyklé hodnotě a hráči si stěžují, tvá trasa je v pořádku a problém, pokud je vůbec v síti, je na té jejich.

Average Ping: svět na požádání#

Pod konzolí je pruh nazvaný „Latency around the world“. Stiskni Test now a panel požádá síť Globalping (globalping.io), bezplatnou síť dobrovolnických sond, aby z jedné sondy v každé z 12 zemí rozptýlených po Evropě, Blízkém východě, Americe, Africe, Asii a Oceánii pingla node serveru. Každá sonda pošle tři pakety. Výsledky dorazí během několika sekund; panel přestane čekat asi po 25 sekundách a zobrazí to, co se vrátilo.

Mřížka ukazuje jednu buňku na zemi s jejím průměrem v milisekundách, seřazené od nejrychlejší, a navíc buňku „You“ s údajem z tvého prohlížeče pro srovnání. Buňky jsou obarvené podle rychlosti: pod 100 ms je dobré, 100 až 199 ms průměrné, 200 ms a víc pomalé. Pokud sonda ztratila pakety, po najetí na buňku se zobrazí procento ztrát. Sonda, která vůbec neodpověděla, ukáže „no reply“ místo čísla.

Average Ping v pruhu statistik nad konzolí je průměr ze sond, které odpověděly, zaokrouhlený na celou milisekundu. Sondy, které selhaly, se z průměru vynechají, nepočítají se jako nula ani jako nekonečno.

Pár věcí, na které pamatovat při čtení:

  • Běží jen po stisknutí tlačítka. Test posílá adresu node třetí straně, takže ho panel nikdy nespouští při načtení stránky. Dokud netestuješ, pruh ukazuje pomlčku a nápověda ti říká, ať stiskneš „Test now“. Po testu následuje 20sekundová pauza, než se spustí další.
  • Bezplatná síť má limit. Pokud se za krátkou dobu spustí příliš mnoho testů, Globalping odmítne a pruh napíše „The free test limit was reached. Try again in a few minutes.“ To je jejich limit, ne chyba na serveru.
  • Sondy jsou skutečná zařízení na skutečných linkách. Některé stojí v datacentrech, jiné na domácích linkách. Jedna země s údajem výrazně nad sousedy může být jen připojení té jedné sondy v té minutě. Než z jedné divné buňky něco vyvodíš, spusť test znovu.
  • Tři pakety jsou snímek. Říká ti odezvu v danou chvíli. Neukazuje jitter v čase ani ztráty, které se objevují a mizí každých pár minut. K tomu potřebuješ delší test ze strany hráče, o čemž je jedna z dalších částí.

Proč průměr vypadá vysoko a přesto je to v pořádku

Světový průměr je průměr přes celou planetu. Každý jednotlivý server, ať stojí kdekoli, je blízko některým z těch 12 zemí a daleko od jiných a ty vzdálené průměr táhnou nahoru. Server může být výborný pro svůj region a přesto ukazovat trojciferný Average Ping, protože Austrálie a Brazílie jsou skoro odevšud daleko. To je aritmetika, ne závada.

Čti proto mřížku, ne jen průměr. Užitečné otázky jsou: co ukazují země, ve kterých tví hráči skutečně žijí, a změnilo se to od posledního pohledu? Pásma v našem článku o pingu herních serverů podle regionu ti dají představu, kolik by měla která vzdálenost stát. Pokud jsou tví hráči většinou ve dvou zemích a obě ukazují dvouciferné hodnoty bez ztrát, síť dělá svou práci, ať průměr říká cokoli.

Hops: počítání routerů#

Údaj Hops v pruhu statistik je počet routerů mezi naší stranou a adresou, ze které panel otevíráš. Prohlížeč svou vlastní trasu nevidí, takže trasování běží opačným směrem: naše strana prochází cestu směrem k tvé adrese pomocí tracepath, který posílá UDP sondy s rostoucími hodnotami TTL a zaznamenává, který router na každém kroku odpoví. Je to stejný princip jako u nástrojů traceroute, které možná už znáš.

What a trace looks like (illustrative)
 1?: [LOCALHOST]                      pmtu 1500 1:  10.0.0.1                          0.412ms 2:  192.0.2.17                        1.006ms 3:  198.51.100.4                      4.880ms ...14:  203.0.113.9                      31.207ms reached     Resume: pmtu 1500 hops 14 back 14

Když cíl odpoví, tracepath vypíše řádek Resume: se skutečným počtem hopů a pruh ukáže obyčejné číslo: 14. Když neodpoví, panel vezme poslední číslovaný řádek, který měl adresu, a zobrazí ho jako dolní mez: ≥11. Nápověda říká přesně to: „≥“ znamená, že poslední routery neodpověděly, takže skutečný počet je alespoň tolik.

Údaj se ≥ je normální. Většina domácích routerů a mnoho mobilních sítí zahazuje sondy, na kterých trasování stojí, takže trasa narazí na ticho o hop nebo dva před koncem, i když je tvé připojení dokonale dosažitelné. Panel ukončí trasování po čtyřech tichých hopech v řadě na konci a nikdy netrasuje dál než 24 hopů.

Několik praktických podrobností:

  • Ukládá se do cache na deset minut. Trasování může trvat až dvacet sekund a trasy se nemění po minutách, takže výsledek pro adresu se drží deset minut a pruh se po tomto intervalu zeptá znovu. Změna trasy se projeví při dalším obnovení, ne okamžitě.
  • Když nelze měřit, ukáže pomlčku. Pokud je tvá adresa soukromá nebo rezervovaná (jsi ve stejné síti jako panel nebo za některými proxy) nebo trasování ještě běží, pruh ukáže pomlčku a za chvíli to zkusí znovu.
  • VPN mění, co se měří. Pokud prohlížíš přes VPN, trasování končí na výstupu VPN, ne u tebe doma. Počet je pak vzdálenost k serveru VPN.
  • Tvoje adresa se neukládá. Cache je klíčovaná hashem adresy a drží jen počet.

Proč hopy záleží a proč nejsou celý příběh

Počet hopů se nepřevádí přímo na milisekundy. Moderní router přepošle paket za mnohem méně než milisekundu, takže deset hopů navíc uvnitř jednoho města stojí téměř nic. Vzdálenost stojí mnohem víc: světlo ve vlákně urazí zhruba 200 km za milisekundu, takže trasa, která se oklikou vydá o 3 000 km mimo, přidá k odezvě kolem 30 ms, ať prochází pěti routery, nebo patnácti.

Hopy přesto záleží, ze tří důvodů:

  1. Odhalují objížďky. Pokud má hráč v sousední zemi k serveru 25 hopů, zatímco někdo vzdálenější 12, jeho poskytovatel pravděpodobně posílá provoz dlouhou cestou přes výměnný uzel v jiné zemi. To je klasická příčina věty „můj ping je špatný, ale kamarádův je v pohodě“.
  2. Každý hop je fronta. Každý router je místo, kde mohou pakety ve špičce čekat za jiným provozem. Víc hopů znamená víc míst, odkud se může vzít jitter a ztráty, zvlášť tam, kde provoz přechází mezi sítěmi.
  3. Porovnávání je užitečné i tehdy, když absolutní číslo není. Tvůj dnešní počet proti počtu z minulého týdne je levný způsob, jak si všimnout změny trasy. Pokud počet hopů vyskočil a ping s ním vzrostl, trasa se změnila a víš, kde hledat.

Co hopy neřeknou, je, který hop je pomalý. K tomu potřebuješ pohled po jednotlivých hopech, což dává MTR. Náš článek o čtení traceroute a MTR popisuje, jak ho číst a nenechat se splést routery, které odpovědi na sondy odsouvají na nižší prioritu.

Když hráči říkají, že server laguje#

„Lag“ pokrývá čtyři nebo pět nesouvisejících problémů a údaje z panelu pomáhají jen u jedné jejich rodiny. Než se podíváš na jakékoli síťové číslo, vyluč samotný server. Úvaha je prostá: pokud server dře, pocítí to všichni hráči najednou bez ohledu na svůj ping; pokud je to síť, stížnost sleduje konkrétní hráče, místa nebo denní doby.

Pracovní postup:

  1. Týká se to všech, nebo jen některých? Pokud se všem sekne obraz ve stejné chvíli, podívej se nejdřív na server. Pokud je nespokojený jeden hráč nebo jedna země, je to téměř jistě síť mezi nimi a serverem.
  2. Zkontroluj grafy serveru. Záložka Console kreslí paměť, CPU a disk proti limitům tarifu. Čára CPU přilepená na limitu, zatímco si hráči stěžují, znamená, že server nestíhá svůj tick rate; to je pro každého hráče jako lag a žádná oprava sítě to nezmění. Náš článek o tom, co tick rate skutečně znamená, obsahuje herní příkazy, které ho ukážou pro každou hru.
  3. Zkontroluj svůj Ping na dashboardu. Pokud je tvůj údaj normální, node je alespoň z jednoho místa dosažitelný a odpovídá.
  4. Spusť světový test. Stiskni „Test now“ a podívej se na země, odkud hráči pocházejí. Normální hodnoty a žádné ztráty znamenají, že konektivita node do té části světa je v tuto chvíli v pořádku.
  5. Požádej stěžujícího si hráče o jeho vlastní měření. Tohle je krok, který problém skutečně lokalizuje, protože jde o jeho trasu.

Pokud jsou kroky 2 až 4 čisté a jeden hráč stále trpí, problém je někde na jeho trase: jeho wifi, směrování jeho poskytovatele, přetížený spoj mezi sítěmi ve špičce. Jeho poskytovatele opravit nemůžeš, ale můžeš mu dát jasnou odpověď a on může svému poskytovateli předložit dobré měření.

O co požádat hráče

Údaje panelu se měří z míst, která nejsou hráč. Požádej ho, aby ze svého stroje spustil test na adresu serveru (IP zobrazená v panelu, bez portu, protože ping porty nepoužívá). Ve Windows:

bash
$ ping -n 50 203.0.113.10$ tracert 203.0.113.10$ pathping 203.0.113.10

V Linuxu nebo macOS s nainstalovaným mtr:

bash
$ ping -c 50 203.0.113.10$ mtr -rwc 100 203.0.113.10

Požádej o test ve chvíli, kdy lag nastane, ne až další ráno. Večerní zahlcení je skutečné a čistý test v 10:00 neříká nic o 21:00. Padesát pingů ukáže průměr, rozptyl mezi minimem a maximem (hrubý odhad jitteru) a případné ztráty. Výpis z mtr nebo pathping ukáže, kde na trase začíná latence nebo ztráta a zda se táhne až do konce.

Některé sítě zahazují ICMP směrem k cíli, takže ping, který úplně vyprší, zatímco se hra připojí bez problému, nic nedokazuje. V takovém případě jsou lepším důkazem trasování a vlastní zobrazení pingu ve hře.

Přiřazení čísel k příznakům#

Jakmile máš hráčova čísla vedle svých, běžné vzorce se čtou takhle:

Co vidíšPravděpodobný význam
Ping hráče vysoký, stálý, bez ztrátVzdálenost nebo dlouhá trasa
Ping skáče o desítky msJitter: wifi nebo vytížená linka
Ztráta, která sahá až k poslednímu hopuSkutečná porucha sítě na trase
Ztráta jen na jednom prostředním hopuRouter ignoruje sondy, neškodné
Všichni laggují společně, CPU na limituServer, ne síť
Hopy hráče výrazně nad hráči poblížJeho poskytovatel směruje dlouhou cestou

Vysoký a stálý je nejsnazší případ a nejhůř řešitelný. Hráč vzdálený 150 ms bude vždy 150 ms daleko a žádné nastavení serveru rychlost světla nezmění. Hry to kompenzují různě; kooperativní survival hra skryje 150 ms dobře, kompetitivní střílečka ne.

Jitter a ztráty se zdají mnohem horší, než naznačují jejich průměry, protože hra musí čekat na chybějící aktualizace nebo je hádat. Náš článek o latenci, jitteru a ztrátě paketů popisuje, co každé z toho hře dělá a jak je za minutu pingu rozlišit. Krátká verze pro hráče: zapojit kabel, vypnout stahování na stejné lince a otestovat znovu. Překvapivý podíl případů „server laguje“ tím končí.

Případ dlouhé trasy je ten, kde si počty hopů zaslouží své místo. Pokud dva hráči ve stejném městě u různých poskytovatelů vidí 15 a 28 hopů a rozdíl v pingu 40 ms, problém je ve směrování toho druhého poskytovatele. Hráč to může nahlásit i s přiloženým trasováním; poskytovatelé někdy trasu změní, když jim zákazník objížďku ukáže. Někteří hráči zkoušejí VPN, aby si vynutili jinou trasu. Občas to pomůže, častěji to přidá vzdálenost; náš článek o tom, jestli VPN snižuje ping ve hrách, popisuje, jak to otestovat místo hádání.

Příklad z praxe#

Řekněme, že osm lidí hraje na serveru většinu večerů. Šest jich je v jedné zemi, dva v sousední. Jeden z těch dvou začne hlásit sekání obrazu každý večer kolem 21:00.

Otevřeš panel. Graf CPU ukazuje server pohodlně pod limitem, zatímco chodí stížnosti, a ostatních sedm si nestěžuje, takže to není server. Tvůj Ping na dashboardu je na obvyklé hodnotě. Stiskneš „Test now“: země nejblíž hráči, který má potíže, ukazuje normální dvouciferný údaj bez ztráty paketů.

Spoj node s tou částí světa je tedy v pořádku a tvá vlastní trasa také. Podezřelá je trasa samotného hráče. Požádáš ho, aby ve 21:00 spustil mtr -rwc 100 (nebo ve Windows pathping). Jeho výpis ukazuje čisté hodnoty pro prvních osm hopů a od devátého výš latenci vyšší o 60 ms a 4 % ztrát, které se táhnou až do posledního řádku. Devátý hop je místo, kde jeho poskytovatel předává provoz jiné síti.

To je zahlcení na propojení sítí ve špičce a je zcela mimo tvůj server. Užitečné, co můžeš udělat, je říct to hráči rovnou a navrhnout, ať ten výpis i s denní dobou pošle svému poskytovateli. Test v 10:00 příštího rána by neukázal nic, a proto na načasování žádosti záleželo.

Porovnej to s opačným výsledkem: trasování hráče je čisté celou cestu, ale ve hře přesto vidí zpoždění. Pak se vrať na stranu serveru, protože příčina je něco jiného než síť: plugin, který zvyšuje tick time, ukládání běžící každých pár minut, server na limitu CPU jen tehdy, když je načtená základna toho hráče.

Co ti údaje z panelu neřeknou#

Je dobré být upřímný ohledně limitů, protože číslo na dashboardu vypadá důvěryhodněji, než je.

  • Žádný z nich není ping ve hře. Hry měří ping po svém, často včetně jednoho dvou ticků zpracování navíc k síťové cestě. Hra ukazující 60 ms tam, kde ping ukazuje 45 ms, je normální.
  • Žádný neměří cesty tvých hráčů. Světový test používá jednu sondu na zemi u poskytovatele té sondy. Tví hráči používají jiné.
  • Světový test je okamžik. Tři pakety na sondu, pořízené ve chvíli, kdy jsi stiskl tlačítko. Nezachytí problém, který se objevuje a mizí.
  • Počet hopů popisuje naši stranu k tobě. Trasuje se z naší strany na adresu, ze které prohlížíš, což je užitečný ukazatel vzdálenosti a přímosti trasy, ale je to tvá trasa, ne hráčova.
  • Ztráta v mřížce světa je nápověda, ne rozsudek. Sonda ztrácející jeden ze tří paketů může mít problém s vlastní linkou. Ztráta, která se objeví z několika zemí najednou, stojí za bližší pohled; ztráta v jedné buňce stojí za druhý test.

Použité pro to, čím jsou, ušetří ty tři údaje čas. Jedním pohledem vyloučí tvé vlastní připojení, ukážou, zda je node dosažitelný z míst, kde žijí tví hráči, a promění vágní „laguje to“ buď v „je to server“, nebo v „je to někde na tvé trase, spusť prosím tohle“. Ta druhá odpověď je ta, kterou hráči potřebují nejvíc a dostávají nejméně často.

FAQ#

Proč je můj Average Ping přes 100 ms, když server působí rychle?

Protože průměruje 12 zemí rozmístěných po celém světě a některé z nich jsou od jakéhokoli jednoho serveru daleko. Vzdálené sondy průměr táhnou nahoru. Podívej se na buňky zemí, ve kterých žijí tví hráči; to jsou údaje, které popisují jejich zkušenost.

Co znamená „≥“ před počtem hopů?

Trasování přestalo slyšet odpovědi dřív, než dorazilo k tvému připojení, obvykle proto, že tvůj domácí router nebo mobilní síť zahazuje sondy trasování. Zobrazený počet je poslední hop, který odpověděl, takže skutečná hodnota je alespoň tolik. Je to běžné a není to závada.

Můžu spouštět světový test pingu automaticky každou hodinu?

Ne. Spouští se jen po stisknutí tlačítka, protože každý test posílá adresu node síti sond třetí strany. Mezi testy je také krátká prodleva a bezplatná síť má limit počtu požadavků, takže časté testování není to, k čemu slouží. Pro sledování trendů spouštěj mtr podle plánu ze stroje, který ovládáš.

Znamená nižší počet hopů vždy nižší ping?

Ne. Vzdálenost záleží mnohem víc než počet routerů. Trasa s 18 hopy uvnitř jednoho regionu může být rychlejší než trasa s 10 hopy přes celý kontinent. Hopy jsou nejužitečnější pro odhalení objížďky nebo změny trasy, ne pro předpověď milisekund.

Můj Ping na dashboardu je vyšší než to, co ukazuje příkaz ping. Který je správně?

Oba, měří trochu jiné věci. Dashboard měří malý webový požadavek z prohlížeče, který nese několik milisekund režie, jakou ICMP ping nemá. Používej ho k porovnávání sám se sebou v čase; pro absolutní hodnotu použij ping.

Ukládá se moje IP adresa, když panel počítá hopy?

Ne. Výsledek se ukládá do cache na deset minut pod hashem adresy a uchovává se číslo. Světový test pingu posílá adresu node službě Globalping, která vidí tvou adresu stejně jako každý web, který voláš.

Pomohlo vám to?