acesta este unul dintr-o serie de articole despre cum să utilizați innotop, un monitor MySQL și InnoDB. În acest articol voi explica cum innotop poate face mult mai ușor să colecteze informații utile de la SHOW STATUS
și SHOW VARIABLES
într-un singur loc. Există trei moduri în innotop care fac acest lucru în moduri diferite, astfel încât unul dintre ele vă poate satisface nevoile.
Introducere
ieșirea SHOW STATUS
și SHOW VARIABLES
este unul dintre instrumentele cele mai utile pentru depanarea unui server MySQL și obținerea unui sentiment de cât de bine rulează, ce tip de sarcină de lucru este sub și așa mai departe. În cazul în care nu sunteți familiarizați cu acestea, vă recomand să le citiți în manualul MySQL înainte de a citi restul acestui articol. Veți obține mai mult din articol dacă înțelegeți ce informații se află în spatele exemplelor mele.
metoda cea mai de bază de a obține la aceste variabile este de a emite o comandă SHOW
, dar rezultatul este destul de sigur de a fi o supraîncărcare de informații, chiar dacă utilizați LIKE
pentru a constrânge rezultatele. Un alt lucru pe care trebuie să-l cunoașteți adesea este modul în care valorile se schimbă în timp; câte scanări de tabel se întâmplă pe secundă, de exemplu? Este greu să compari rapid rezultatele comenzilor SHOW
, dar trebuie să faci asta pentru a înțelege ce se întâmplă pe server.
Instrumentul clasic pentru aceasta este propriul MySQL mysqladmin
. Îl puteți rula cu argumentele -i
și -r
pentru a-i spune să păstreze valorile de imprimare din când în când și să imprime diferența față de ultimul set de valori atunci când face acest lucru. O comandă de bază pentru a viziona variabile de stare ar putea fi următoarele:
mysqladmin extended -i10 -r
puteți țeavă care prin grep
pentru a filtra rezultatele un pic prea.
există în mod clar mult loc pentru îmbunătățiri. Am inclus trei moduri diferite de a vizualiza aceste informații mai ușor și flexibil în innotop, și voi explica cele următoare.
metoda unu: modul V
înainte de a începe: Dacă nu ați făcut-o deja, ar trebui să descărcați și să instalați innotop și să rulați aceste exemple pe propriul server. Este mult mai interesant atunci când ajungi să vezi cum rulează propriul server. Și dacă nu sunteți actualizat la cea mai recentă și cea mai mare versiune a innotop, merită să faceți; există mult mai multe funcții în fiecare versiune nouă. Mai exact, voi arăta câteva funcții disponibile numai în versiunea 0.1.139.
bine, să trecem la lucrurile bune. Porniți innotop și treceți la modul V cu tasta „V”. V înseamnă ” variabile și Stare.”Se afișează un tabel cu un rând pentru fiecare valoare aleasă, și o coloană pentru fiecare set de valori pe care doriți să vizualizați. Valorile pot fi alese din orice Puteți găsi în SHOW STATUS
sau SHOW VARIABLES
.
permiteți-mi să explic că un pic mai mult. Coloana din stânga arată ce valori am ales să afișez. Fiecare rând are o valoare. Pe măsură ce mergeți spre dreapta, vedeți valorile în sine. Mai întâi vedeți cele mai actuale valori, apoi cele anterioare și așa mai departe—până la coloana din extrema dreaptă.
există câteva lucruri de observat despre acest ecran:
- afișajul este incremental. Adică, nu afișez valorile reale aici. Sunt afișarea diferența dintre instantanee. Puteți vedea că valoarea
Uptime
este incrementată cu 60 în fiecare coloană succesivă. Asta pentru că am ales un timp de somn de 60 de secunde între instantanee. (De obicei alegUptime
ca prima valoare, astfel încât să pot vedea ce interval de timp este afișat). - coloana din extrema dreaptă nu este incrementală. Asta pentru că este cea mai veche imagine pe care innotop o are în memorie, deci nu este nimic mai devreme de scăzut din ea. În plus, nu vrei întotdeauna să știi diferența dintre valori. Uneori vrei să știi valoarea în sine. Aceasta vă oferă o linie de bază, astfel încât să puteți vedea atât valorile incrementale, cât și cele absolute în același timp.
- a doua linie a afișajului, deasupra tabelului de valori, vă arată opțiunile de afișare curente. Puteți vedea incremental este activat, iar media pe secundă este dezactivată. Puteți comuta acest lucru cu tastele „i” și „a”, astfel încât să puteți comuta instantaneu înainte și înapoi între mai multe vizualizări ale datelor.
- afișarea numărului lung este activată. Puteți să o activați și să o dezactivați cu tasta” l „(adică” l ” cu litere mici) pentru un afișaj mai compact.
este un mod destul de compact de a privi 8 minute de istorie pentru server, nu sunteți de acord? Puteți obține cu ușurință mult mai multe informații de pe acest afișaj decât cu celelalte metode pe care le-am discutat. Dar nu e mai mult!
- i includ mai multe opțiuni presetate de valori pentru a afișa cu innotop. Puteți comuta înainte și înapoi între ele cu tastele” 0 „până la”9”. Există presetări pentru cache-ul de interogare, scanări de tabel și index, variabile InnoDB, declarații de tranzacție și multe altele. În total, există loc pentru zece seturi de valori.
- puteți personaliza fiecare set cu tasta „c”. Alegeți și alegeți din orice valoare în stare și variabile, așa cum am spus. Acest lucru este salvat în fișierul de configurare, deci este acolo când renunțați și reporniți innotop.
- puteți alege numărul de instantanee pe care doriți să le afișați, de la 2 la 9, astfel încât să puteți decide cât de mult istoric doriți să priviți pe un singur ecran.
Metoda 2: modelată după tload
o altă modalitate de a monitoriza aceste variabile este de a desena un grafic în stilul tload
. Teoria din spatele acestui mod este că alegeți câteva valori (cu tasta” c”, ca de obicei) și innotop va scala media pe secundă a valorilor față de maximul pe care l-a văzut vreodată și îl va folosi pentru a desena un grafic frumos. Intrați în modul grafic cu tasta” G”.
acest lucru nu este chiar ca tload
, deoarece graficul rulează de sus în jos, nu de la stânga la dreapta. Imprimă periodic un antet, inclusiv „valoarea maximă” față de care scalează.
în practică, nu am reușit încă acest lucru. Nu sunt sigur cum să-l scară. Nu am probleme cu matematica, dar scalarea împotriva „valorii maxime văzute vreodată” nu pare să producă rezultate bune. Uneori rezultă un grafic frumos; alteori nu. Mă tot gândesc că trebuie să existe o modalitate bună de a calcula încărcarea reală a serverului, astfel încât să poată fi grafic în mod semnificativ, dar nu mă pot gândi la asta. Vreo sugestie?
nu sunt foarte mulțumit de acest mod. Dacă nu găsesc o modalitate de a o face mai utilă, s-ar putea să scap de această funcționalitate, chiar dacă sunt doar câteva linii de cod.
metoda 3: modelat după vmstat
Colegul meu de muncă John a anticipat că graficul nu va fi atât de util, spre creditul său, și m-a întrebat dacă aș putea imita vmstat
și iostat
în loc să desenez un grafic. Rezultatul este modul” S”. Se poate imprima aceleași informații ca și modul” G”, cu excepția imprimă valori în loc de un grafic.
cred că acest lucru este mai util decât modul „G”, deși este oarecum redundant la modul „V” pe care l-am demonstrat mai sus. Deoarece valorile sunt afișate pe ecran și timpul curge de jos în sus a ecranului, puteți încadra mai puține valori pe ecran, dar puteți vizualiza o fereastră de timp mai lungă.
recapitulare a modurilor
tocmai ți-am arătat trei moduri innotop are pentru monitorizarea stării și informații variabile de la un server MySQL:
- „v” modul imprimă un tabel de instantanee, cu o mulțime de opțiuni diferite.
- modul”G” încearcă să imprime un grafic, dar nu face întotdeauna o treabă foarte bună.
- modul”S” imprimă ceva similar cu modul „V”, dar datele sunt prezentate diferit.
cele trei moduri sunt practic moduri diferite de a privi aceleași valori. Există unele redundanță printre ei, dar pentru că este nevoie de atât de puțin cod pentru a face fiecare dintre ele, nu-mi pasă de redundanță din punct de vedere de codificare. Nu mă deranjează să mențin trei funcții cu funcționalități similare, dacă oferă mai multe modalități de utilizare a monitorului.
dacă aveți sugestii pentru îmbunătățiri, aștept să aud de la tine 🙂
rezumat
în acest articol am explicat modul de modă veche pentru a monitoriza producția de SHOW STATUS
și SHOW VARIABLES
, și apoi ți-a arătat cum innotop poate face acest lucru mult mai rapid și mai ușor, și, sperăm, vă dau suficiente puncte de vedere diferite cu privire la datele pe care le puteți găsi unul care vă place.
Stay tuned pentru a afla mai multe despre innotop; există mult mai multe de spus! Vă puteți abona prin feed – uri sau e-mail pentru a menține curent.