Proč je server pomalý: přechodné problémy
Nevím jak vám, ale mě tyhle letní prázdniny vážně rychle utíkají. Dříve bylo přes léto méně práce a já si odpočal. Nyní zákazníci využívají prázdniny pro nové realizace (nákup serveru, předělání sítě). Není divu, protože si méně naruší byznys. Jenže u nás v kombinaci s dovolenými je to pořádný zápřah.
Zpět k našemu tématu. Už dlouho se vám chci rozepsat, jak měříme výkon serverů a systémů, hledáme úzká hrdla (důvody zpomalení) a navrhujeme adekvátní nové servery. Soudě podle rozhovorů s kolegy z oboru a našich zkušeností, bych řekl, že nám to docela jde. 😊 S přesností +-15 % odhadneme, k jakému zrychlení dojde nákupem nového serveru/clusteru.
Pár poznámek pro uvedení do kontextu:
- Sérii těchto článků chci psát prakticky, ať to pak zvládnete opravit sami.
- Teorii dodám, kde budu vědět. Pokud se někde spletu, rád se nechám opravit.
- Informace jsou relevantní k samostatným serverům (fyzickým nebo virtuálním) a malým clusterům.
- Závěry/rady, které zde rozepisuji, jsme z někoho obtížně vytáhli (což jen potvrzuje, že informace jsou zlato) nebo jsme si je sami pracně naměřili.
Kde to začíná
Několik hodin jsem přemýšlel, odkud téma „výkonového ladění/měření“ začít. Měl bych psát příběhově, nebo jako referenční příručku? Rozhodl jsem se, že začnu tak, jak to pro nás (a pro vás) běžně začíná…
Jednoho krásného dne nám/vám volá zákazník/šéf, že mu systém funguje pomalu. A že s tím chce něco udělat…
Zjistěte od uživatele co nejvíce informací
Pamatuji si, jak jsem své kolegy na začátku štval. Přišli se poradit, jenže místo řešení dostali vyčiněno, že nemají veškeré podklady. Vrátili se zpět za zákazníkem a doptali se na zbytek informací. Když vidím, že dnes tuto „metodu“ předávají dále svým novým kolegům, vnitřně mě hřeje, že pochopili její smysl a nebrali ji jen jako mé peskování.
Nejrychlejší a nejsnadnější cesta, jak se dobrat k příčině, proč je systém/server pomalý? (stejný postup použijte, i když něco nefunguje vůbec). Položte tyto otázky:
Co je pomalé?
Uživatelé mají tendenci zobecňovat. Hlavně na začátku. Prvotní informace bývá: „vše je pomalé“ či „nic nefunguje“. Chápu. Mají hodně práce, vedení na ně tlačí, k tomu nefunguje počítač.
Nespokojte se s touto informací. Pátrejte dál. Ptejte se: „Je pomalý celý systém, nebo jen nějaký modul/funkce? Jsou pomalé i ostatní aplikace? Ideálně vyjmenujte pár aplikací z PC a nějaké poskytované aplikace ze serveru a zeptejte se, zda jsou pomalé i ony. Zjistíte, jestli se dále zaměřit na PC, síť, nebo server.
Od kdy je to pomalé?
Od kdy uživatel pozoruje zpomalení? Začalo to před 5 minutami, dnes ráno, před týdnem? Občas uživatel řekne, že aplikaci dobu nepoužíval, že neví. Ptejte se, kdy naposled ji použil, co byla v pořádku.
Jak moc je to pomalé?
Moje oblíbená otázka 😊 „Hodně“ a „málo“ není odpověď. Potřebujete přesnější údaje. Například: „Běžně program startuje do 1 sekundy, dnes do 5 sekund.“ Ano. Často to uživatelé nevědí. Vy však zjišťujete, zda je řeč o zpomalení 10 % nebo 200 %. To je totiž velký rozdíl (přičemž to druhé bývá jednodušší vyřešit).
Nechte si problém ukázat
Pokud to jde. Pomůže vám to, protože:
- Až v systému něco změníte/opravíte, sami si hned ověříte, že jste problém vyřešili
- Během ukázky si můžete všimnout jiných problémů/indicií.
- Nebo zjistíte, že uživatel problém špatně popisuje. Běžní uživatelé nemají tolik technických znalostí jako vy, aby rozhodli, co je a není relevantní.
Zeptejte se ostatních
Ptejte se dalších uživatelů (případně i z více lokalit), zda mají stejný problém. Nebo jim vše funguje?
Jak naložit s odpověďmi
Zásadní je v tuto chvíli odpověď na otázku „Od kdy?“.
Pokud je systém/server pomalý dlouhou dobu a zpomaloval se průběžně s tím, jak přibývala data v systému, rostl počet uživatelů a množství funkcí, pak potřebujete výkonnější server (jak jej navrhnout napíšu v příštím článku), nebo přesvědčit výrobce informačního systému k optimalizacím (to se nám zatím nikdy nepodařilo).
Pokud došlo ke zpomalení skokově a nedávno, radujte se. Problém zvládnete „lehce“ opravit. Příčinu problému pravděpodobně odhalíte během získávání informací od uživatelů.
Pokud ještě příčinu neznáte, projděte si tento lehký diagram. Pomůže vám rozhodnout, kam své další úsilí zaměřit.
Problém na PC, serveru
Nejčastěji se „poblázní“ nějaký program, který začne brát zdroje. Nejrychlejší řešení: otevřete si „resmon“ (Start –> Spustit -> „resmon.exe“). Zkontrolujte, zda nějaký proces nepřetěžuje procesor, paměť, nebo disky (jak to poznat napíšu v dalším článku o hledání úzkých hrdel/bottlenecků). Pokud jej najdete, ukončete jej.
Pokud nevidíte žádný problematický proces (nebo se neustále objevuje znovu), zaměřte pozornost na to, co se na PC/serveru změnilo od chvíle, co to fungovalo.
Naše zkušenost – nejčastěji to bývají:
- Windows aktualizace (ovládací panely -> programy a funkce -> nainstalované aktualizace),
- aktualizace aplikací/nové aplikace (ovládací panely -> programy a funkce, seřadit podle data nainstalování),
- aktualizace antiviru,
- aktualizace ovladačů/firmware,
- změna nastavení systému (např. výkonový profil),
- nové naplánované úlohy,
- problémy s HW (např. poškozený HDD, RAID, baterie na řadiči).
Problém s internetem
Pokud to vypadá na problém s internetem na vaší straně, tak:
- Podívejte se na hraniční router – kolik přes něj teče dat do internetu? Pokud je vytížená linka, zjistěte kdo co stahuje/streamuje a spojení zarazte (nebo aplikujte QoS).
- Zkuste „ping -n 30 8.8.8.8“ (i když to Google rád nemá 😊). Zjistíte ztrátovost a latenci (ztrátovost by měla být 0 % a latence do 100ms). Pokud jsou hodnoty špatné a linka není plně vytížena, spojte se se svým ISP (pokud je však linka vytížena, stává se tak v důsledku policingu/shapingu u ISP).
- Udělejte si Speedtest (např. http://speedtest.net/). Má linka správnou rychlost? (test berte orientačně – na lince můžete mít agregaci, již existující vytížení a test nemusí být přesný). Pokud nemá, obrátíme se s žádostí o pomoc na ISP.
Divné případy
Sem tam narazíte na případy, kdy se chová divně jen specifický síťový provoz (např. jako nám v příběhu „Jak jsme pomáhali Vodafone: diagnostika problému (část 1/2)“). Čeká vás nezáviděníhodná práce. Lepší věřit, že se to vyřeší samo. Bude třeba se spojit s ISP a zatáhnout do hry nějakého šikovného síťaře.
Závěr
Snad se vám článek líbil. Dejte mi zpětnou vazbu a podělte se o vaše zkušenosti, postřehy a dotazy. Velmi rád je zahrnu do dalšího článku. Přeji vám klidné prázdniny. Ať se vám potíže se systémy obloukem vyhýbají.
A ještě dobrá rada na závěr, která občas ušetří hodiny marného pátrání. Nevěřte dogmaticky všemu, co vám uživatelé řeknou. Občas se pletou, něco zkreslí. Anebo neřeknou pravdu 😊.
Diskuze k článku
Martin MaKr Kratochvíl
02. 08. 2018 v 08:44
Tohle podrobné vyptávání platí obecně v IT nejen při řešení serveru. Někdy si připadám jak Dr. House. Z indicií zákazníků, leckdy leccos záměrně ještě zkreslí či zamlčí, si udělat představu a vyřknout rozsudek nad vadnou komponentou.
Odpovědět
Martin Haller
02. 08. 2018 v 17:28
😀 Dr. House – tak to se někdy cítíme stejně.
Odpovědět
Karlos
08. 08. 2018 v 08:30
Taktéže 😉
Odpovědět
Jiri Pavlik
22. 11. 2018 v 09:09
Ještě si dovolím poznámku, nikdy nevěřte síťařům :). Nebo alespoň tu možnost s jejich odpovědí, !u nás je vše v pořádku“, neberte jako dogma. Vícekrát se mi to vyplatilo, než, že by mé podezření bylo mylné. 😉
Odpovědět
Martin Haller
22. 11. 2018 v 14:20
Přesně tak, ne nadarmo se říká důvěřuj ale prověřuj :)!
Odpovědět