Toto je jeden ze série článků o tom, jak používat monitor Innotop, MySQL a InnoDB. V tomto článku vysvětlím, jak může innotop usnadnit shromažďování užitečných informací z SHOW STATUS
a SHOW VARIABLES
na jedno místo. V innotopu existují tři režimy, které to dělají různými způsoby, takže jeden z nich může vyhovovat vašim potřebám.
Úvod
výstup SHOW STATUS
a SHOW VARIABLES
je jedním z nejužitečnějších nástrojů pro řešení problémů s MySQL serverem a získání pocitu, jak dobře běží, jaký typ pracovní zátěže je pod atd. V případě, že s nimi nejste obeznámeni, doporučujeme si je přečíst v příručce MySQL, než si přečtete zbytek tohoto článku. Z článku získáte více, pokud pochopíte, jaké informace jsou za mými příklady.
nejzákladnějším způsobem, jak se dostat k těmto proměnným, je vydat příkaz SHOW
, ale výsledek je docela jistý, že je přetížení informací, i když použijete LIKE
k omezení výsledků. Další věc, kterou často potřebujete vědět, je, jak se hodnoty mění v průběhu času; kolik skenů tabulky se děje za sekundu, například? Je těžké porovnat výsledky příkazů SHOW
rychle, ale musíte to udělat, abyste pochopili, co se děje na serveru.
klasickým nástrojem pro toto je MySQL vlastní mysqladmin
. Můžete jej spustit pomocí argumentů -i
a -r
, abyste mu řekli, aby tiskl hodnoty tak často a vytiskl rozdíl od poslední sady hodnot, když tak učiní. Základní příkaz pro sledování stavových proměnných může být následující:
mysqladmin extended -i10 -r
můžete potrubí, že přes grep
filtrovat výsledky trochu příliš.
je zde zjevně velký prostor pro zlepšení. Do innotopu jsem zahrnul tři různé způsoby, jak tyto informace snadněji a flexibilněji prohlížet, a vysvětlím je dále.
metoda jedna: V režim
než začneme: Pokud jste tak již neučinili, měli byste si stáhnout a nainstalovat innotop a spustit tyto příklady na svém vlastním serveru. Je to mnohem zajímavější, když uvidíte, jak běží váš vlastní server. A pokud nejste upgradováni na nejnovější a nejlepší verzi innotopu, stojí za to dělat; v každé nové verzi je mnohem více funkcí. Konkrétně se chystám ukázat některé funkce dostupné pouze ve verzi 0.1.139.
dobře, na dobré věci. Spusťte innotop a přepněte do režimu V pomocí klávesy „V“. V znamená “ proměnné a stav.“Zobrazuje tabulku s řádkem pro každou vybranou hodnotu a sloupec pro každou sadu hodnot, které chcete zobrazit. Hodnoty lze vybrat z čehokoli, co najdete v SHOW STATUS
nebo SHOW VARIABLES
.
dovolte mi to vysvětlit trochu víc. Sloupec vlevo ukazuje, které hodnoty jsem se rozhodl Zobrazit. Každý řádek má jednu hodnotu. Když jdete doprava, vidíte samotné hodnoty. Nejprve uvidíte nejaktuálnější hodnoty, pak ty před tím, a tak dále-až do krajně pravého sloupce.
na tomto displeji je třeba si všimnout několika věcí:
- displej je přírůstkový. To znamená, že zde nezobrazuji skutečné hodnoty. Zobrazuji rozdíl mezi snímky. Můžete vidět, že hodnota
Uptime
je zvýšena o 60 v každém následujícím sloupci. To proto, že jsem si mezi snímky vybral dobu spánku 60 sekund. (Obvykle volímUptime
jako první hodnotu, abych viděl, jaký časový rozsah je zobrazen). - krajně pravý sloupec není přírůstkový. Je to proto, že je to nejstarší snímek, který má innotop v paměti, takže od něj není co odečíst. Kromě toho ne vždy chcete znát rozdíl mezi hodnotami. Někdy chcete znát samotnou hodnotu. To vám dává základní linii, takže můžete vidět přírůstkové i absolutní hodnoty současně.
- druhý řádek displeje nad tabulkou hodnot zobrazuje aktuální možnosti zobrazení. Můžete vidět, že Inkrementální je zapnuto a průměr za sekundu je vypnutý. Můžete to přepínat pomocí kláves“ i „a“ a“, takže můžete okamžitě přepínat mezi několika pohledy na data.
- displej s dlouhým číslem je zapnutý. Můžete jej zapnout a vypnout pomocí klávesy“ l „(to je malá písmena „L“) pro kompaktnější displej.
je to docela kompaktní způsob, jak se podívat na 8 minut historie serveru, souhlasíte? Z tohoto displeje můžete snadno získat mnohem více informací než u jiných metod, o kterých jsem diskutoval. Ale je toho víc!
- zahrnuji několik přednastavených voleb hodnot, které se mají zobrazit pomocí innotop. Mezi nimi můžete přepínat tam a zpět pomocí kláves „0“ až „9“. K dispozici jsou předvolby pro mezipaměť dotazu, skenování tabulek a indexů, proměnné InnoDB, příkazy transakcí a další. Celkově je zde prostor pro deset sad hodnot.
- každou sadu můžete přizpůsobit klávesou“ c“. Vyberte si a vyberte si z libovolné hodnoty ve stavu a proměnných, jak jsem řekl. To se uloží do konfiguračního souboru, takže je tam, když ukončíte a restartujete innotop.
- můžete si vybrat počet snímků, které chcete zobrazit, od 2 do 9, takže se můžete rozhodnout, kolik historie chcete vidět na jedné obrazovce.
Metoda 2: modelováno po tload
dalším způsobem, jak sledovat tyto proměnné, je nakreslit graf ve stylu tload
. Teorie za tímto režimem spočívá v tom, že si vyberete několik hodnot (pomocí klávesy“ c“, jako obvykle) a innotop bude měnit průměr hodnot za sekundu proti maximu, jaké kdy viděl, a použije to k nakreslení pěkného grafu. Režim grafu vstoupíte pomocí klávesy“ G“.
to není úplně jako tload
, protože graf běží shora dolů, ne zleva doprava. Pravidelně vytiskne záhlaví, včetně „maximální hodnoty“, proti které je škálování.
v praxi jsem to ještě úplně nepochopil. Nejsem si jistý, jak to škálovat. Nemám žádné problémy s matematikou, ale měřítko proti „maximální hodnotě, jakou kdy bylo vidět“, nezdá se, že by přineslo dobré výsledky. Někdy to má za následek pěkný graf; jindy ne. Stále si myslím, že musí existovat dobrý způsob, jak vypočítat skutečné zatížení serveru, takže to může být smysluplně grafováno, ale nemůžu na to myslet. Nějaké návrhy?
nejsem s tímto režimem příliš spokojen. Pokud nemohu přijít na způsob, jak to učinit užitečnějším, mohu se této funkce zbavit, i když je to jen několik řádků kódu.
Metoda 3: po vzoru vmstat
můj spolupracovník John předpokládal, že graf nebude tak užitečný, hodně k jeho cti, a zeptal se mě, jestli bych mohl napodobit vmstat
a iostat
místo kreslení grafu. Výsledkem je režim“ S“. Může tisknout stejné informace jako režim“ G“, kromě toho, že místo grafu vytiskne hodnoty.
myslím, že je to užitečnější než režim „G“, i když je to poněkud nadbytečné pro režim „V“, který jsem předvedl výše. Protože hodnoty jsou rozloženy po celé obrazovce a čas plyne zdola nahoru, můžete na obrazovku umístit méně hodnot, ale můžete zobrazit delší časové okno.
Rekapitulace režimů
právě jsem vám ukázal tři režimy, které má innotop pro sledování stavu a proměnných informací ze serveru MySQL:
- „režim V“ vytiskne tabulku snímků se spoustou různých možností.
- režim“ G “ se pokouší vytisknout graf, ale ne vždy dělá velmi dobrou práci.
- režim“S“ vytiskne něco podobného režimu“ V“, ale data jsou rozložena jinak.
tyto tři režimy jsou v podstatě různé způsoby pohledu na stejné hodnoty. Mezi nimi je nějaká redundance, ale protože to vyžaduje tak málo kódu, aby každý z nich udělal, Nestarám se o redundanci z hlediska kódování. Nevadí mi udržovat tři funkce s podobnou funkčností, pokud poskytuje více způsobů použití monitoru.
pokud máte nějaké návrhy na zlepšení, čekám na slyšení od vás :- )
shrnutí
v tomto článku jsem vysvětlil staromódní způsob, jak sledovat výstup SHOW STATUS
a SHOW VARIABLES
, a pak vám ukázal, jak innotop může udělat to mnohem rychlejší a jednodušší, a doufejme, že vám dostatek různých pohledů na data, která můžete najít ten, který se vám líbí.
zůstaňte naladěni a dozvíte se více o innotop; je toho mnohem víc! Můžete se přihlásit prostřednictvím kanálů nebo e-mailu, abyste udrželi aktuální.