GNU/Linux >> Znalost Linux >  >> Linux

Odstraňování problémů se systémem Linux 101:Výkon systému

Zaneprázdněné systémy v síti používané několika místními uživateli (nebo tisíci uživatelů webu) mají během svého životního cyklu problémy s výkonem. Pouze systémy, které nejsou vytížené, jsou imunní vůči problémům s výkonem, které nás všechny trápí. Tento článek se zabývá obvyklými podezřelými při hledání a opravě problémů s výkonem.

Následují obecné pokyny, základní shrnutí „míst, kde začít“. Každý problém je jiný, ale jak získáte více zkušeností, budete mít lepší představu o tom, kde a jak začít hledat konkrétní problém. Věřím, že vás lze naučit základy odstraňování problémů, ale nelze vás naučit zkušenosti nebo intuici. Obojí přijde časem. Všimněte si také, že některé problémy se projevují tak, že začnete jednou cestou a často se necháte vést jinou. Tento faktor je frustrující, ale normální. Některé problémy s diskem mohou například způsobit prudké zvýšení využití procesoru a problémy s pamětí se mohou maskovat jako problémy s výkonem disku. Začněte nejprve s jednoduššími věcmi a poté se propracujte ke složitějším. Nekomplikujte si život víc, než je nutné. Někdy stačí vyměnit síťový kabel nebo restartovat systém. Jednoduché, ale účinné.

Vrácení posledních změn

Je nutné provést změny v produkčním prostředí. Dokumentace těchto změn je povinná. Když se něco pokazí, budete rádi, že jste to udělali, a bude. Zvláštní věc na provádění změn v Linuxu (nebo jakémkoli jiném systému) je, že samotná změna může fungovat perfektně, když ji provedete, ale za den nebo dva utrpí výkon vašeho systému. Než uděláte cokoli jiného, ​​zkontrolujte dokumentaci změn a zjistěte, zda nebyly v systému provedeny nějaké nedávné změny. Změny zahrnují softwarové záplaty, aktualizace jakéhokoli druhu, výměny nebo upgrady hardwaru, aktualizace ovladačů, aktualizace firmwaru, vkládání kódu, instalace nového softwaru a změny konfigurace.

Při kontrole dokumentace změn porovnejte nedávné změny s problémy, které máte. Po provedení obvyklých systémových kontrol byste měli své změny jednu po druhé vrátit zpět, abyste zjistili, která z nich lze vysledovat ke kořenové příčině vašeho výkonu. Někdy zjistíte, že určité aktualizační „klastry“ nejsou kompatibilní nebo musí být nainstalovány nebo aplikovány v určitém pořadí. Vždy zkontrolujte dokumentaci dodavatele, abyste zjistili, zda tomu tak je.

Aktualizovat, aktualizovat, aktualizovat

Problémům s výkonem spojeným s chybami softwaru a hardwaru se můžete vyhnout tím, že budete vše aktualizovat, zejména pokud jde o software na straně serveru (spíše než na straně klienta, jako je webový prohlížeč). Klientská strana by se samozřejmě měla také aktualizovat, ale to je jiná diskuze.

Ano, je to práce na plný úvazek udržovat všechny vaše systémy aktualizované. Vždy existuje něco, co je třeba v systému aktualizovat:BIOS, firmware, ovladače, operační systém, aplikace, agenti, bezpečnostní software, databáze, zálohovací software a tak dále. Tento úkol nikdy nekončí. Rozhodněte se, jak často potřebujete aktualizovat nebo dodržovat zásady oprav vaší organizace, abyste mohli tyto aktualizace naplánovat, naplánovat a použít. V jedné z mých prací jsme záplatovali jednou týdně. Dělat to byla bolest. Vyžadovalo to, abychom jednou týdně vytáhli celonoční, což rychle stárne. Pravidelnému provádění se však nevyhnete. Musíte provést aktualizaci, abyste se ujistili, že jsou vaše systémy zabezpečené a mají nejnovější opravy stability.

Pokud jsou vaše systémy aktuální a nejsou k dispozici žádné novější aktualizace, můžete aktualizace a opravy obecně vyloučit jako hlavní příčinu problému s výkonem.

Hardwarová omezení a selhání

Podle mých zkušeností chce každý (programátoři, správci sítě, management a prodejci) obviňovat ze všech problémů s výkonem infrastrukturu. Všichni společně věří, že infrastruktura je nejslabším článkem, a to je místo, kde s největší pravděpodobností dojde k přerušení, takže budete muset prokázat, že problém nezpůsobuje váš hardware, než někdo zasáhne. Do jisté míry souhlasím, ale je to trochu nepříjemné, když je to první předpoklad, spíše než ten, který se zkoumá současně s dalšími potenciálními příčinami.

Obecně existují čtyři hardwarové komponenty, které mohou buď selhat, nebo dosáhnout omezení, která vám mohou způsobit problémy:CPU, síť, paměť a disk. Existují i ​​další součásti, které mohou selhat, například napájecí zdroje, ale tyto „velké čtyři“ jsou nejčastějšími viníky a prvními místy, kam byste se měli podívat, když máte problém.

CPU

V dnešní době má většina serverových systémů vícejádrové a víceprocesorové CPU banky. Pokud máte problém s CPU, může to být způsobeno vadou samotného CPU. Nalezení konkrétního CPU, které vám dělá problém, je nad rámec tohoto článku. Máte-li podezření na skutečnou poruchu nebo anomálii CPU, požádejte o radu dodavatele systému. Je pravděpodobné, že mají diagnostické rutiny, které můžete spustit a které identifikují problémový CPU. Kromě toho pošlou technika, který vymění jeden CPU nebo všechny.

Takže, kromě úplného selhání CPU, co byste měli hledat, když máte podezření na problém s CPU? Zaškrtněte top abyste zjistili, zda nějaké procesy nepřetěžují váš CPU(y). Chcete-li seřadit top pro CPU spusťte top a poté zadejte P (Shift+P). Podívejte se na procesy vypalování cyklů procesoru. Týkají se ty, které jsou na začátku seznamu, systém nebo aplikace? Pokud se jedná o systémové procesy, zkontrolujte dostupnost. Doba provozu by neměla být extrémně vysoká kvůli pravidelnému restartování.

Pokud zjistíte, že konkrétní aplikace využívá abnormální počet cyklů procesoru, restartujte aplikaci, abyste zjistili, zda problém přetrvává. Pokud se proces týká systému, zkuste proces restartovat, pokud je to možné. Pokud ne, restartujte systém. Ano, restartujte systém.

Bonus za odstraňování problémů (restartování)

Ano, musíte restartovat alespoň jednou za měsíc. Vím, že o tomto postupu existuje spousta argumentů, ale aby se vyloučilo mnoho problémů, dobrý restart vyřeší spoustu problémů a pomůže vám diagnostikovat problémy s hardwarem s minimálním úsilím. Občasné vypnutí systému je také dobrou praxí, protože spuštění systému ze studeného startu může identifikovat mnoho hardwarových problémů, které se mohou skrývat na běžícím systému. Budete také moci zúžit problémy, pokud problém s výkonem přetrvává i po restartu.

Paměť

Dalším nejviditelnějším místem, kam se při odstraňování problémů s výkonem podívat, je využití paměti. Problémy s pamětí se mohou projevovat různými způsoby, které zakrývají skutečnost, že paměť je skutečně problémem. Pokud během dne zjistíte, že se paměť vašeho systému vybije, nejprve zkontrolujte protokolování. Vím, že to zní šíleně, ale zachycování protokolů málem stálo společnost, kde jsem pracoval, miliony dolarů. Ve zprávách o výkonu jsem si všiml, že paměť našeho clusterového systému se během dne vyčerpávala. K dispozici bylo mnoho gigabajtů paměti, takže k tomuto problému nemělo docházet. Výkon se navíc s postupem dne zhoršoval. Každou noc o půlnoci se všechno vracelo. Co se stalo o půlnoci, ptáte se? Rotace protokolu. Někdo zřejmě zapnul ladění protokolů, což znamenalo, že se sbíraly, zálohovaly a zbytečně ukládaly desítky gigabajtů denně. A vyčerpávalo to naši paměť. Jakmile byl objeven a opraven, výkon se vrátil v plné síle a zmírnil potřebu utrácet miliony dolarů za další systémy pro tento obrovský cluster.

Měli byste se také podívat na odkládací prostor, pokud máte podezření na problém s pamětí. V tomto výstupu je můj systém nečinný, takže výsledek není dramatický. Použijte free -m příkaz ke kontrole využití fyzické a virtuální (swap) paměti:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:            821         200         288          10         333         484
Swap:             0           0           0

Pokud používáte hodně swapu, váš systém možná dělá to, co správci *nix nazývají „thrashing“. Thrashing, na rozdíl od toho, co dělají skateboardisté, je pro nás špatná věc. Nechcete, aby váš systém mlátil. Thrashing se také může jevit jako problém s diskem, pokud je dostatečně závažný. Pokud je váš systém tak zaneprázdněn stránkováním a odchozím stránkováním, že to ovlivňuje výkon disku, musíte okamžitě jednat a restartovat problematický proces. Nechápejte mě špatně. Swap je nastaven a nakonfigurován pro stránkování věcí na disk, ale když způsobí problém s výkonem, je třeba tento problém opravit.

Mnoho moderních systémů má tolik paměti, že swap na disku se vůbec nepoužívá. Někteří správci mají pocit, že je to plýtvání místem na disku. Pro mě to, zda nakonfiguruji swap, závisí na účelu systému a množství paměti RAM, kterou má. Úvahy o výměně jsou opravdu na jiný článek, ale řeknu, že jak s výměnou naložíte, je na vás. Nemyslím si, že staré pravidlo 1,5x RAM už není dobrý vzorec. Přemýšlejte o tom. Pokud má váš systém 128 GB RAM, znamenalo by to, že pro odkládací prostor nakonfigurujete 192 GB RAM. Směšný. Pokud bych vůbec nakonfiguroval swap, mohl bych pro tento systém nastavit maximálně 16 GB.

Ve vzácných případech může být vaše RAM špatná nebo se pokazit. Už se mi to stalo. Při upgradu byste měli být také opatrní, jaký typ paměti RAM si pro systém zakoupíte. Spojte to, co máte, nebo to všechno vyměňte, pokud to nemůžete srovnat. Nekombinujte rychlosti, mezipaměti ani značky. Použijte také doporučený typ RAM pro váš systém. Používání neznačkových nebo neodpovídajících RAM je katastrofa, která teprve čeká.

A konečně, chybné programy mohou způsobit problémy s pamětí. Nejvíce smutku mi historicky způsobovaly programy založené na Javě. Někteří programátoři Java neprogramují správně pro vyčištění smetí nebo uvolnění paměti a problémy nastávají, když je zatížení vysoké nebo když jsou uskutečněna určitá volání. Vždy začínám restartováním procesu. Moje další možnost je zaškrtnout top pro množství paměti spotřebované programem. Pokud všechna moje kontrola a restart procesu nefungují, restartuji systém. Pokud problém začne znovu, půjdu za programátorem, stěžuji si a poskytnu své zprávy.

Disk

Disky selžou. To je silné, ale pravdivé tvrzení. I SSD v určitém okamžiku selžou, takže se připravte na selhání disku. Pamatujte, že RAID není totéž jako záloha a že disky a diskové oddíly se zaplňují, takže se chovají s nižším než optimálním výkonem. Pokud se domníváte, že je disk vaším zabijákem výkonu, první věc, na kterou byste se měli podívat, je dostupné místo pomocí rychlého df příkaz:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        397M     0  397M   0% /dev
tmpfs           411M     0  411M   0% /dev/shm
tmpfs           411M   11M  400M   3% /run
tmpfs           411M     0  411M   0% /sys/fs/cgroup
/dev/sda2        16G  1.8G   14G  12% /
/dev/sda1       495M  152M  344M  31% /boot
tmpfs            83M     0   83M   0% /run/user/1000

Výše můžete vidět, že na mém serveru nejsou žádné úplné nebo téměř plné souborové systémy.

Další položkou, kterou je třeba zkontrolovat, je, zda jsou vaše systémy souborů plné nebo téměř plné. Pokud žádný není, máte vadný disk. Nedokážu simulovat selhání disku, ale některé serverové systémy vám dají vědět, když selhaly disky. Například některé z mých starých serverů ukazovaly oranžové světlo spíše než zelené, když bylo něco špatně. Věnujte pozornost indikátorům hardwaru. Měl jsem také servery, které měly malou LCD obrazovku, která mě upozorňovala na selhání a chyby. Tyto nástroje byly užitečné, když mě operační systém neoznámil, že došlo k problému.

Chybný disk má vliv na výkon bez ohledu na konfiguraci. Konfigurace RAID nezaručují výkon v případě selhání členského disku. Místo toho zaručují bezpečnost z důvodu redundance. Jinými slovy, vaše data jsou nedotčená, ale vaši uživatelé a zákazníci budou nešťastní kvůli pomalému výkonu. Očekávejte problémy s výkonem, když členský disk selže.

Pokud máte pomalý systém, zkontrolujte fyzický server a všechny jeho součásti, výstrahy a zprávy. Tento krok je pro ty, kteří mají přístup k fyzickým serverům. Tolik systémových administrátorů se musí zabývat vzdálenými nebo hostovanými systémy, a proto nemají tento druh přístupu.

Síť

Problémy se sítí způsobené hardwarem jsou poněkud vzácné, ale stávají se. Hbitá síťová karta, špatný kabel nebo vadný přepínač nebo port přepínače mohou být pro správce systému zdrojem velké frustrace. A pokud k tomu přidáte port přepínače nebo nesprávnou konfiguraci sítě na samotném hostiteli, máte nyní recept na spoustu přitahování za vlasy. Někdy je těžké najít zdroj problému se sítí, protože problém může být místní, na přepínači nebo někde za přepínačem. Musíte se podívat na každou úroveň zvlášť, abyste našli problém.

Zkontrolujte své ostatní hostitele pro srovnání. Je problém lokalizován na jediném hostiteli, je omezen na jednu skupinu nebo je celosystémový? Tato kontrola vám pomůže zjistit, zda je problém místní, zda se omezuje na jeden přepínač, zda se týká celého stojanu nebo řady, nebo zda je problém rozšířenější.

Zkontrolujte konfiguraci místní sítě. Zkontrolujte protokoly změn a zjistěte, zda se v poslední době něco nezměnilo. Dále proveďte fyzickou kontrolu NIC. Připadají vám světla správná? Vypadá kabel dobře a zástrčka vypadá nepoškozená? Vypadá konfigurace drátu správně? Pokud je to možné, zkontrolujte celou délku kabelu, zda není fyzicky poškozen. Zkontrolujte fyzický spínač a zakončení kabelu ve spínači, zda nevykazují fyzické vady.

Buď zkontrolujte konfiguraci přepínače sami, nebo o to požádejte správce sítě. Fyzicky zkontrolujte umístění přepínače nebo vyhledejte správný port, který nahlásíte správci sítě, v dokumentaci. Pokud konfigurace vypadá dobře, požádejte správce sítě, aby provedl rychlý reset portu. Také se zeptejte správce na poslední aktualizaci přepínače a datum posledního restartu.

V závislosti na vaší práci a na tom, kde pracujete, možná nebudete mít kontrolu nebo viditelnost mimo váš přepínač. Spolupracujte se správci sítě, ISP nebo poskytovateli hostingu, abyste dále našli problém s výkonem sítě. Osobní zkušenost mi říká, že pokud není problém se sítí rozšířený, správci sítě chtějí důkaz o tom, co jste zkontrolovali, co vás vedlo k obviňování sítě. Z tohoto důvodu jsem řešení problémů se sítí umístil na poslední místo v seznamu. Nemohu spočítat, kolikrát jsem slyšel ta frustrující slova:„To není síť, člověče. To musí být infrastruktura.“ A pak oznamovací tón.

Koneckonců

Neexistují žádné zkratky k získání znalostí o odstraňování problémů. Můžete se učit a být připraveni, ale bohužel nejlepším učitelem je zkušenost, protože musíte zažít neúspěchy, než získáte skutečný cit pro řešení problémů v zákopech. Ani simulovaná selhání vám neposkytnou stejný zážitek jako skutečné selhání, kdy se skuteční uživatelé ptají, kdy se věci opraví, a skuteční manažeři se na vás dívají, jako by to byla vaše chyba, že společnost přichází o peníze, a rozčilují se, že vaše klávesnice není nevydává žádný hluk.

Odstraňování problémů není ta zábavná část práce správce systému, ale je to nezbytná součást. Vlastně si nejsem jistý, jestli existují nějaké zábavné části a všechny jsou nezbytné. Být systémovým správcem je stresující a řešení problémů je velkou součástí tohoto stresu. Dal jsem vám tipy ve snaze snížit tento stres, ale stále je na vás, abyste získali zkušenosti a sebevědomí při jejich používání.


Linux
  1. Zlepšete výkon systému Linux pomocí noatime

  2. Odstraňování problémů s hardwarem v Linuxu

  3. Jak monitorovat výkon systému Linux pomocí Sysstat

  1. Oprávnění pro Linux 101

  2. Pokud jde o řešení problémů se systémem Linux, find je můj nejlepší přítel

  3. Základní příkazy pro řešení problémů s výkonem v Linuxu

  1. 5 Příkazy pro odstraňování problémů se sítí Linux

  2. Odstraňování problémů s Linuxem:Nastavení TCP listener pomocí ncat

  3. dd výkon na Mac OS X vs. Linux