dit is één in een reeks artikelen over het gebruik van innotop, een MySQL en InnoDB monitor. In dit artikel zal ik uitleggen hoe innotop het veel gemakkelijker kan maken om nuttige informatie van SHOW STATUS
en SHOW VARIABLES
op één plaats te verzamelen. Er zijn drie modi in innotop die dit op verschillende manieren doen, dus één van hen kan aan uw behoeften voldoen.
Inleiding
de uitvoer van SHOW STATUS
en SHOW VARIABLES
is een van de meest nuttige hulpmiddelen voor het oplossen van problemen met een MySQL-server en het krijgen van een idee van hoe goed het draait, wat voor soort werkbelasting het is, enzovoort. In het geval dat je niet bekend bent met deze, raad ik je aan om ze te lezen in de MySQL handleiding voordat je de rest van dit artikel leest. U krijgt meer uit het artikel als u begrijpt welke informatie achter mijn voorbeelden.
de meest basale methode om bij deze variabelen te komen is het geven van een SHOW
Commando, maar het resultaat is vrij zeker een informatie-overbelasting, zelfs als je LIKE
gebruikt om de resultaten te beperken. Een ander ding dat je vaak moet weten is hoe de waarden veranderen in de tijd; hoeveel tabel scans gebeuren er per seconde, bijvoorbeeld? Het is moeilijk om snel resultaten van SHOW
commando ‘ s te vergelijken, maar je moet dat doen om te begrijpen wat er op de server gebeurt.
de klassieke tool hiervoor is MySQL ‘ s eigen mysqladmin
. U kunt het uitvoeren met de -i
en -r
argumenten om het te vertellen om af te drukken om de zoveel tijd, en print het verschil met de laatste set van waarden wanneer het dit doet. Een basiscommando om statusvariabelen te bekijken kan het volgende zijn:
mysqladmin extended -i10 -r
u kunt dat doorsluizen naar grep
om de resultaten ook een beetje te filteren.
er is duidelijk veel ruimte voor verbetering. Ik heb drie verschillende manieren opgenomen om deze informatie gemakkelijker en flexibeler te bekijken in innotop, en Ik zal die vervolgens uitleggen.
Methode 1: V-modus
voordat we beginnen: Als je dat nog niet hebt gedaan, moet je innotop downloaden en installeren, en deze voorbeelden op je eigen server draaien. Het is veel interessanter als je ziet hoe je eigen server draait. En als je niet bent opgewaardeerd naar de nieuwste en beste versie van innotop, het is de moeite waard te doen; er zijn veel meer functies in elke nieuwe versie. Specifiek, Ik ga een aantal functies alleen beschikbaar in versie 0.1.139 tonen.
Oké, op naar het goede spul. Start innotop en schakel over naar de V-modus met de ” V ” – toets. V staat voor ” variabelen en Status.”Het toont een tabel met een rij voor elke gekozen waarde en een kolom voor elke set waarden die u wilt bekijken. Waarden kunnen worden gekozen uit alles wat u kunt vinden in SHOW STATUS
of SHOW VARIABLES
.
laat me dat wat meer uitleggen. De meest linkse kolom toont welke waarden ik heb gekozen om weer te geven. Elke rij heeft één waarde. Als je naar rechts gaat, zie je de waarden zelf. Eerst zie je de meest actuele waarden, dan die daarvoor, enzovoort—helemaal tot aan de uiterst rechtse kolom.
er zijn een paar dingen op te merken over dit scherm:
- het display is incrementeel. Dat wil zeggen, Ik toon hier niet de echte waarden. Ik laat het verschil tussen snapshots zien. U kunt zien dat de waarde
Uptime
in elke volgende kolom met 60 wordt verhoogd. Dat komt omdat ik gekozen heb voor een slaaptijd van 60 seconden tussen de snapshots. (Ik kies meestalUptime
als de eerste waarde, zodat ik kan zien welk tijdbereik wordt weergegeven). - de kolom uiterst rechts is niet Incrementeel. Dat komt omdat het de vroegste snapshot is die innotop in zijn geheugen heeft, dus er valt niets eerder af te trekken. Bovendien wil je niet altijd het verschil tussen waarden weten. Soms wil je de waarde zelf weten. Dit geeft je een basislijn zodat je zowel de incrementele als absolute waarden tegelijkertijd kunt zien.
- de tweede regel van het scherm, boven de waardes tabel, toont u de huidige weergaveopties. U kunt zien incrementele is aan, en per seconde gemiddelde is uit. U kunt dit omschakelen met de” i “en” a ” toetsen, zodat u direct heen en weer kunt schakelen tussen verschillende weergaven op de gegevens.
- lange-nummerweergave is ingeschakeld. U kunt het in-en uitschakelen met de “l” toets (dat is een kleine “L”) voor een compactere weergave.
het is een vrij compacte manier om naar 8 minuten geschiedenis te kijken voor de server, nietwaar? U kunt gemakkelijk veel meer informatie uit deze display dan met de andere methoden die ik heb besproken. Maar er is meer!
- ik neem verschillende vooraf ingestelde waarden op die met innotop moeten worden weergegeven. U kunt heen en weer schakelen tussen hen met de toetsen “0” tot en met “9”. Er zijn presets voor de query cache, tabel en index scans, InnoDB variabelen, transaction statements, en meer. Al met al is er ruimte voor tien sets van waarden.
- u kunt elke set aanpassen met de” c ” toets. Kies en kies uit elke waarde in STATUS en variabelen, zoals ik al zei. Dit wordt opgeslagen in je configuratiebestand, dus het is er wanneer je innotop afsluit en herstart.
- u kunt het aantal snapshots kiezen dat u wilt weergeven, van 2 tot 9, zodat u kunt bepalen hoeveel Geschiedenis u op één scherm wilt bekijken.
Methode 2: gemodelleerd na tload
een andere manier om deze variabelen te controleren is het tekenen van een grafiek in de stijl van tload
. De theorie achter deze modus is dat je een paar waarden kiest (met de “c” toets, zoals gewoonlijk) en innotop zal het per seconde gemiddelde van de waarden schalen tegen het maximum dat het ooit heeft gezien, en dat gebruiken om een mooie grafiek te tekenen. Je gaat de Grafiekmodus in met de” G ” toets.
dit lijkt niet helemaal op tload
, omdat de grafiek van boven naar beneden loopt, niet van links naar rechts. Het drukt periodiek een header af, inclusief de “maximale waarde” waartegen het schaalt.
in de praktijk heb ik dit nog niet helemaal goed. Ik weet niet hoe ik het moet opschalen. Ik heb geen problemen met het doen van de wiskunde, maar schalen tegen “de maximale waarde ooit gezien” lijkt niet om goede resultaten te produceren. Soms resulteert het in een mooie grafiek; andere keren niet. Ik blijf denken dat er een goede manier moet zijn om de werkelijke serverbelasting te berekenen, zodat het zinvol kan worden weergegeven, maar ik kan er niet aan denken. Nog suggesties?
ik ben niet erg blij met deze modus. Als ik niet kan achterhalen een manier om het nuttiger te maken, Ik kan ontdoen van deze functionaliteit, ook al is het slechts een paar regels code.
Methode 3: gemodelleerd naar vmstat
mijn collega John verwachtte dat de grafiek niet zo nuttig zou zijn, tot zijn eer, en vroeg me of ik vmstat
en iostat
kon imiteren in plaats van een grafiek te tekenen. Het resultaat is” S ” mode. Het kan dezelfde informatie afdrukken als de ” G ” – modus, behalve dat het waarden afgedrukt in plaats van een grafiek.
ik denk dat dit nuttiger is dan de “G” – modus, hoewel het enigszins overbodig is voor de “V” – modus die ik hierboven heb gedemonstreerd. Omdat de waarden over het scherm zijn ingedeeld en de tijd van onder naar boven van het scherm stroomt, kunt u minder waarden op het scherm plaatsen, maar u kunt een venster met een langere tijd bekijken.
samenvatting van de modi
ik heb u zojuist drie modi laten zien die innotop heeft voor het monitoren van de status en variabele informatie van een MySQL server:
- “V” modus drukt een tabel met snapshots, met veel verschillende opties.
- ” G ” modus probeert een grafiek af te drukken, maar doet het niet altijd goed.
- ” S “modus drukt iets af dat lijkt op” V ” modus, maar de gegevens zijn anders ingedeeld.
de drie modi zijn in principe verschillende manieren om naar dezelfde waarden te kijken. Er is wat redundantie onder hen, maar omdat het zo weinig code vereist om elk van hen te doen, geef ik niet om de redundantie vanuit een codeerstandpunt. Ik vind het niet erg om drie functies met vergelijkbare functionaliteit te behouden, als het meer manieren geeft om de monitor te gebruiken.
als u suggesties voor verbeteringen heeft, wacht ik op uw bericht :- )
samenvatting
In dit artikel heb ik de ouderwetse manier uitgelegd om de uitvoer van SHOW STATUS
en SHOW VARIABLES
te monitoren, en vervolgens heb ik je laten zien hoe innotop dit een stuk sneller en gemakkelijker kan maken, en hopelijk genoeg verschillende weergaven geeft over de gegevens die je kunt vinden.
blijf op de hoogte voor meer informatie over innotop; er is veel meer te vertellen! U kunt zich abonneren via feeds of e-mail om actueel te blijven.