Hur man övervakar MySQL-Status och variabler med Innotop

Detta är en i en serie artiklar om hur man använder innotop, en MySQL-och InnoDB-bildskärm. I den här artikeln ska jag förklara hur innotop kan göra det mycket lättare att samla in användbar information från SHOW STATUS och SHOW VARIABLES på ett ställe. Det finns tre lägen i innotop som gör detta på olika sätt, så en av dem kan tillgodose dina behov.

introduktion

utmatningen av SHOW STATUS och SHOW VARIABLES är ett av de mest användbara verktygen för felsökning av en MySQL-server och få en känsla av hur bra det körs, vilken typ av arbetsbelastning det är under och så vidare. Om du inte är bekant med dessa rekommenderar jag att du läser upp dem i MySQL-manualen innan du läser resten av den här artikeln. Du kommer att få mer ut av artikeln om du förstår vilken information som ligger bakom mina exempel.

den mest grundläggande metoden för att komma åt dessa variabler är att utfärda ett SHOW – kommando, men resultatet är ganska säkert att vara en informationsöverbelastning, även om du använder LIKE för att begränsa resultaten. En annan sak du ofta behöver veta är hur värdena förändras över tiden; hur många tabellskanningar händer per sekund, till exempel? Det är svårt att jämföra resultaten av SHOW kommandon snabbt, men du måste göra det för att förstå vad som händer på servern.

det klassiska verktyget för detta är MySQL: s eget mysqladmin. Du kan köra den med argumenten -i och -r för att berätta för den att fortsätta skriva ut värden så ofta och skriva ut skillnaden från den sista uppsättningen värden när den gör det. Ett grundläggande kommando för att titta på statusvariabler kan vara följande:

mysqladmin extended -i10 -r

du kan pipa det genom grep för att filtrera resultaten lite också.

det finns tydligt mycket utrymme för förbättringar. Jag har inkluderat tre olika sätt att visa denna information lättare och flexibelt i innotop, och jag ska förklara dem nästa.

metod ett: v-läge

innan vi börjar: Om du inte redan har gjort det bör du ladda ner och installera innotop och köra dessa exempel på din egen server. Det är mycket mer intressant när du får se hur din egen server körs. Och om du inte uppgraderas till den senaste och bästa versionen av innotop är det värt att göra; det finns många fler funktioner i varje ny version. Specifikt kommer jag att visa några funktioner som endast är tillgängliga i version 0.1.139.

okej, vidare till bra grejer. Starta innotop och växla till V-läge med” V ” – knappen. V står för ” variabler och Status.”Den visar en tabell med en rad för varje valt värde och en kolumn för varje uppsättning värden du vill visa. Värden kan väljas från allt du kan hitta i SHOW STATUS eller SHOW VARIABLES.

Låt mig förklara det lite mer. Kolumnen längst till vänster visar vilka värden jag har valt att visa. Varje rad har ett värde. När du går till höger ser du värdena själva. Först ser du de mest aktuella värdena, sedan de före det, och så vidare—hela vägen till den högra högra kolumnen.

det finns ett par saker att märka om den här skärmen:

  1. displayen är inkrementell. Det vill säga, Jag visar inte de verkliga värdena här. Jag visar skillnaden mellan ögonblicksbilder. Du kan se värdet Uptime ökas med 60 i varje efterföljande kolumn. Det beror på att jag har valt en sömntid på 60 sekunder mellan ögonblicksbilder. (Jag brukar välja Uptime som det första värdet så att jag kan se vilket tidsintervall som visas).
  2. kolumnen längst till höger är inte inkrementell. Det beror på att det är den tidigaste ögonblicksbilden innotop har i minnet, så det finns inget tidigare att subtrahera från det. Dessutom vill du inte alltid veta skillnaden mellan värden. Ibland vill du veta värdet själv. Detta ger dig en baslinje så att du kan se både inkrementella och absoluta värden samtidigt.
  3. den andra raden på displayen, ovanför tabellen värden, visar de aktuella visningsalternativen. Du kan se inkrementell är på och genomsnittet per sekund är avstängt. Du kan växla detta med tangenterna” i ” och ”a”, så att du direkt kan växla fram och tillbaka mellan flera visningar på data.
  4. långnummer displayen är på. Du kan slå på och av den med ”l” – tangenten (det är en liten bokstav ”L”) för en mer kompakt skärm.

det är ett ganska kompakt sätt att titta på 8 minuters historia för servern, skulle du inte hålla med? Du kan enkelt få mycket mer information från den här skärmen än med de andra metoderna jag har diskuterat. Men det finns mer!

  • jag inkluderar flera förinställda val av värden som ska visas med innotop. Du kan växla fram och tillbaka mellan dem med knapparna ”0” till ”9”. Det finns förinställningar för frågecachen, tabell-och indexskanningar, InnoDB-variabler, transaktionsuttalanden och mer. Sammantaget finns det plats för tio uppsättningar värden.
  • du kan anpassa varje uppsättning med” c ” – tangenten. Välj och vraka bland alla värden i STATUS och variabler, som sagt. Detta sparas i din konfigurationsfil, så det är där när du avslutar och startar om innotop.
  • du kan välja hur många ögonblicksbilder du vill visa, från 2 till 9, så att du kan bestämma hur mycket historia du vill titta på på en skärm.

Metod 2: modellerad efter tload

ett annat sätt att övervaka dessa variabler är att rita en graf i stil med tload. Teorin bakom detta läge är att du väljer några värden (med ”c”-tangenten, som vanligt) och innotop kommer att skala per sekund genomsnittet av värdena mot det maximala det någonsin har sett och använda det för att rita en vacker graf. Du går in i Grafläge med” G ” – tangenten.

det här är inte riktigt som tload , eftersom grafen går från topp till botten, inte från vänster till höger. Den skriver ut en rubrik regelbundet, inklusive ”maxvärdet” mot vilket det skalar.

i praktiken har jag inte riktigt fått det här rätt än. Jag är inte säker på hur jag ska skala den. Jag har inga problem med att göra matematiken, men skalning mot ”maxvärdet någonsin sett” verkar inte ge bra resultat. Ibland resulterar det i en fin graf; andra gånger inte. Jag fortsätter att tänka att det måste finnas ett bra sätt att beräkna den faktiska serverbelastningen, så det kan graferas meningsfullt, men jag kan inte tänka på det. Några förslag?

jag är inte särskilt nöjd med det här läget. Om jag inte kan räkna ut ett sätt att göra det mer användbart kan jag bli av med den här funktionen, även om det bara är några rader kod.

Metod 3: modellerad efter vmstat

min medarbetare John förutsåg att grafen inte skulle vara så användbar, mycket till hans kredit, och frågade mig om jag kunde imitera vmstat och iostat istället för att rita en graf. Resultatet är” S ” – läge. Den kan skriva ut samma information som” G ” – läge, förutom att den skriver ut värden istället för en graf.

jag tycker att det här är mer användbart än ”G” – läge, men det är något överflödigt till ”V” – läget som jag visade ovan. Eftersom värdena läggs ut över skärmen och tiden flyter från botten till toppen av skärmen kan du få färre värden på skärmen, men du kan visa ett längre tidsfönster.

sammanfattning av lägena

jag visade dig bara tre lägen innotop har för övervakning av status och variabel information från en MySQL-server:

  1. ”v” – läget skriver ut en tabell med ögonblicksbilder, med många olika alternativ.
  2. ” G ” – läget försöker skriva ut en graf, men gör inte alltid ett mycket bra jobb.
  3. ” s ”- läge skriver ut något som liknar” V ” – läge, men data läggs ut annorlunda.

de tre lägena är i princip olika sätt att se på samma värden. Det finns viss redundans bland dem, men eftersom det kräver så lite kod för att göra var och en av dem, bryr jag mig inte om redundansen ur en kodande synvinkel. Jag har inget emot att behålla tre funktioner med liknande funktionalitet, om det ger fler sätt att använda bildskärmen.

om du har några förslag till förbättringar väntar jag på att höra från dig :- )

sammanfattning

i den här artikeln förklarade jag det gammaldags sättet att övervaka produktionen av SHOW STATUSoch SHOW VARIABLES och visade dig hur innotop kan göra detta mycket snabbare och enklare och förhoppningsvis ge dig tillräckligt med olika åsikter om de data som du kan hitta en du gillar.

håll ögonen öppna för att lära dig mer om innotop; det finns mycket mer att berätta! Du kan prenumerera via flöden eller e-post för att hålla dig uppdaterad.

Lämna ett svar

Din e-postadress kommer inte publiceras.