ať už používáte server pro aplikaci nebo jen místní počítač, chcete, aby váš počítač běžel co nejlépe. Proto byste se měli ujistit, že monitorujete využití procesoru, disku a paměti počítače. Sledování věcí, jako je využití paměti a využití disku, je ve skutečnosti docela snadné. Kolik místa na disku vám zbývá? Je váš disk roztříštěný? Máte dostatek paměti RAM pro aplikace, které používáte? Pravidelně vyměňujete paměť?
to jsou snadné otázky, na které je třeba odpovědět, a jsou to otázky, které byste měli položit., Některé otázky jsou však složitější, zejména pokud jde o metriky CPU. Jistě, existují jednoduché metriky, jako je celkové využití CPU. Ale pokud používáte Linux, máte více esoterických (a někdy užitečnějších) metrik, jako je zatížení CPU. V tomto příspěvku budeme hovořit o tom, co metrika zatížení CPU skutečně znamená a jak ji můžete použít k optimalizaci serverů.
Zatížení CPU vs. CPU
první věc, kterou musíte pochopit je, že zatížení CPU je stejné jako využití PROCESORU., I když to může znít podobně, jsou úplně jiné. Využití CPU je měření, v procentech, kolik času CPU tráví aktivně výpočetní něco. Například, pokud jste měli program, který vyžadoval nepřetržitý výpočetní výkon po dobu 54 z posledních 60 sekund, využití CPU na jednom jádru by bylo 90%. Místo toho, pokud program vyžadoval pouze šest sekund čas zpracování na jednom jádru, použití by bylo 10%.
většina společností se snaží udržet využití CPU svých serverů co nejblíže 100%., Většina serverů se prodává podle celkového výpočetního výkonu, a pokud váš server sedí pouze na 30% využití procesoru, platíte za příliš mnoho výkonu procesoru. Můžete downgrade procesor na nižší úroveň, ušetřit peníze, a vidět žádné snížení kvality výkonu vašeho serveru.
zatížení CPU
zatížení CPU je jiné. Namísto měření procenta času, který CPU pracuje, zatížení CPU měří, kolik programů používá nebo čeká na jádro procesoru najednou. Zcela nečinný procesor by měl hodnotu zatížení 0., V našem předchozím příkladu bychom měli jednominutové doby zatížení .9 a .1, resp. To je docela intuitivní. Co je však na zatížení CPU neintuitivní, je to, že hodnota 1 nemusí být nutně plně načteným měřením.
místo toho, co představuje“ plné “ zatížení CPU, závisí na tom, kolik vláken operačního systému se může pochlubit CPU. Většina procesorů v těchto dnech tvoří více než jen jedno jádro CPU, které běží více než jen jeden podproces CPU. Pokud má váš procesor čtyři jádra, pak zatížení CPU 1 není plně načtený procesor. Místo toho by to byla jen čtvrtina., Místo toho by vaše zatížení CPU bylo považováno za plné pro váš procesor, pokud by vaše hodnota zatížení byla 4, ne 1.
dešifrování zatížení CPU Linuxu
spuštění programu, který zobrazuje součty zatížení CPU Linuxu, může být zpočátku trochu matoucí. Pokud spustíte příkaz jako uptime nebo top, můžete vidět hodnotu zatížení CPU, která vypadá jako 1.68 0.55 5.91. Pokud nevíte, co hledáte, vypadá to jako hluk. Naštěstí je to vlastně docela snadné dešifrovat. Jsou zde tři hodnoty a podíváme se na ně postupně.
první hodnota je 1,68. To je hodnota zatížení CPU během poslední minuty., Jak jsme již zmínili, jedná se o míru toho, kolik programů používalo čas CPU během poslední minuty. Takže během poslední minuty na tomto počítači bylo v průměru 1, 68 programů buď pomocí doby zpracování CPU, nebo čekáním na dobu zpracování CPU. Pokud se jedná o jednovláknový procesor, znamená to, že počítač je přetížen. Uživatelé čekají na to, aby jejich programy běžely na CPU, a zažívají zhoršený výkon. Pokud se místo toho jedná o dvoujádrový počítač nebo čtyřjádrový počítač, uživatelé mohou během poslední minuty získat čas CPU stejně rychle, jak to potřebovali.,
druhá hodnota je 0,55. Toto je měření za posledních 5 minut. Jak jsme již dříve diskutovali, měření pod 1 znamená, že CPU strávil část času v tomto okně zcela nečinně. V tomto případě byl procesor nečinný téměř polovinu času. Pokud optimalizujeme náš procesor tak, aby něco neustále dělal, není to dobré znamení.
konečné číslo, 5.91, je měření posledních 15 minut. Pokud používáte osmijádrový procesor, pak toto číslo není nijak zvlášť šokující. Pokud používáte dvoujádrový procesor, pak číslo jako 5.91 znamená, že váš procesor je velmi přetížený., Uživatelé pravidelně čekají na čas CPU a pravděpodobně zažívají výrazně zhoršený výkon.
Unix vs. Linux CPU Loads
Pokud jste zvyklí používat měření zatížení CPU v Unixu, některá z těchto čísel se vám mohou zdát trochu vysoká. To proto, že Unix a Linux měří zatížení CPU jinak. Unix měří zatížení CPU výslovně jako měřítko programů, které aktivně používají nebo čekají na zpracování CPU. Linux měří věci trochu jinak a chápe, jak je klíčem k dobré správě systému.,
Linux opatření, zatížení CPU při pohledu jak na programy, které jsou v současné době používáte, nebo čekání na CPU čas, kromě programů, které jsou v čekání států. Například program, který čeká na síťový požadavek nebo načte něco z disku, by se nepočítal do zatížení CPU v Unixu. Na Linuxu Ano. Zda se jedná o lepší nebo horší přístup, závisí na vašem případu použití. Pokud hledáte měřit nic jiného než celkové využití CPU, Unix poskytuje lepší rozhraní., Ale pokud máte program, který je uzamčen po dobu 30 sekund a čeká na síťovou žádost, Linux vám to řekne. Unix by tato data nikdy nevystavoval.
optimalizace zatížení CPU
neexistuje žádná stříbrná kulka pro optimalizaci zatížení CPU. Je to proces, ke kterému musíte přistupovat holisticky. Stejně jako využití CPU, když jste na serveru, který chcete být blízko 100%, ale ne u konce. Někdy je proces optimalizace zatížení CPU docela snadný. Možná, že váš server bude vždy používat pouze dvě vlákna najednou., V takovém případě není optimalizace zatížení serveru o nic složitější než dvoujádrový procesor. Možná budete potřebovat rychlejší procesor, abyste se ujistili, že tyto programy jsou dokončeny včas, ale nikdy nebudete potřebovat více než dvě jádra.
většina systémů se však ve skutečnosti neomezuje na přesně dvě aktivní vlákna. Většina serverů je mnohem komplikovanější. A jednou ze skutečných výzev je udržet počet jader co nejnižší, protože to vám ušetří peníze, aniž byste šli příliš nízko a ponižovali uživatelské zkušenosti. Mohlo by to být tak, že musíte optimalizovat kód, který server běží., Někdy budete muset určit, kolik času programu je spotřebováno čekáním na věci, jako jsou databázové dotazy. Mohlo by to být, že opravdu potřebujete zvýšit počet jádra na vašem procesoru. Zúžené servery mohou mít řadu příčin a mohou být opraveny mnoha způsoby.
jak se vaše zatížení CPU?
monitorování a optimalizace zatížení procesoru je důležitou součástí získání co nejvíce pro paměť serveru. Bohužel je to také časově náročný, manuální proces. Jak bylo uvedeno, většina příkazů Linuxu poskytuje zatížení procesoru pouze pro 15minutový systém windows., To je dobrá věc; nechtěli byste okna mnohem širší než to. Bylo by těžké z nich získat nějaké užitečné informace. Nicméně, dávat pozor na zatížení CPU přes válcování 15 minut období je druh bolesti hlavy.
Naštěstí, tam jsou dobré nástroje pro sledování, tyto věci pro vás. Například Scalyr může sledovat zatížení CPU pouhým požitím některých protokolů. Nebudete mít jen jednoduchý numerický výtisk., Místo toho získáte pěkný vizuál, který zobrazuje celkové zatížení CPU v průběhu času. To může být zvláště užitečné, protože vám pomůže určit konkrétní okna, která jsou na vašem CPU nejnáročnější. Optimalizace výkonu vašeho serveru znamená jeho podrobné pochopení, a to nejen na vysoké úrovni.
součástí dobrého správce systémů je pochopení vašeho serveru ze všech směrů. Vědět, jak interpretovat zatížení CPU a jak jej optimalizovat, je klíčovou součástí maximalizace investic serveru vaší společnosti., Než to uděláte, musíte pochopit, jaké je zatížení procesoru vašeho serveru. Není lepší den než dnes, abyste mohli začít sledovat zatížení CPU serveru. Dnes můžete začít formulovat plán optimalizace.
tento příspěvek napsal Eric Boersma. Eric je softwarový vývojář a manažer rozvoje, který dělá vše od bezpečnosti IT ve farmaceutickém průmyslu pro psaní inteligence software pro vládu USA k budování mezinárodní rozvoj týmů pro non-zisky., Rád mluví o věcech, které se naučil na cestě, a rád poslouchá a učí se od ostatních.