Questo è uno di una serie di articoli su come utilizzare innotop, un monitor MySQL e InnoDB. In questo articolo spiegherò come innotop può rendere molto più facile raccogliere informazioni utili da SHOW STATUS
e SHOW VARIABLES
in un unico posto. Ci sono tre modalità in innotop che fanno questo in modi diversi, quindi uno di loro può soddisfare le vostre esigenze.
Introduzione
L’output di SHOW STATUS
e SHOW VARIABLES
è uno degli strumenti più utili per la risoluzione dei problemi di un server MySQL e ottenere un’idea di quanto bene è in esecuzione, che tipo di carico di lavoro è sotto, e così via. Nel caso in cui non hai familiarità con questi, ti consiglio di leggere su di loro nel manuale MySQL prima di leggere il resto di questo articolo. Otterrai di più dall’articolo se capisci quali informazioni ci sono dietro i miei esempi.
Il metodo più semplice per ottenere queste variabili è emettere un comando SHOW
, ma il risultato è abbastanza certo di essere un sovraccarico di informazioni, anche se si utilizza LIKE
per vincolare i risultati. Un’altra cosa che spesso devi sapere è come cambiano i valori nel tempo; quante scansioni di tabelle avvengono al secondo, ad esempio? È difficile confrontare rapidamente i risultati dei comandi SHOW
, ma è necessario farlo per capire cosa sta succedendo nel server.
Lo strumento classico per questo è MySQL mysqladmin
. È possibile eseguirlo con gli argomenti -i
e -r
per dirgli di mantenere i valori di stampa ogni tanto e stampare la differenza dall’ultima serie di valori quando lo fa. Un comando di base per guardare le variabili di stato potrebbe essere il seguente:
mysqladmin extended -i10 -r
Puoi collegarlo a grep
per filtrare un po ‘ anche i risultati.
C’è chiaramente molto margine di miglioramento. Ho incluso tre diversi modi di visualizzare queste informazioni in modo più semplice e flessibile in innotop, e spiegherò quelli successivi.
Metodo uno: V mode
Prima di iniziare: Se non l’hai già fatto, dovresti scaricare e installare innotop ed eseguire questi esempi sul tuo server. E ‘ molto più interessante quando si arriva a vedere come il proprio server è in esecuzione. E se non sei aggiornato alla versione più recente e più grande di innotop, vale la pena farlo; ci sono molte più funzionalità in ogni nuova versione. In particolare, ho intenzione di mostrare alcune funzionalità disponibili solo nella versione 0.1.139.
Va bene, sulla roba buona. Avviare innotop e passare alla modalità V con il tasto” V”. V sta per ” Variabili e stato.”Visualizza una tabella con una riga per ogni valore scelto e una colonna per ogni set di valori che si desidera visualizzare. I valori possono essere scelti da qualsiasi cosa tu possa trovare in SHOW STATUS
o SHOW VARIABLES
.
Lasciatemi spiegare che un po ‘ di più. La colonna più a sinistra mostra quali valori ho scelto di visualizzare. Ogni riga ha un valore. Mentre vai a destra, vedi i valori stessi. Per prima cosa vedi i valori più attuali, poi quelli precedenti e così via—fino alla colonna di estrema destra.
Ci sono un paio di cose da notare su questo display:
- Il display è incrementale. Cioè, non sto visualizzando i valori reali qui. Sto visualizzando la differenza tra le istantanee. È possibile vedere che il valore
Uptime
viene incrementato di 60 in ogni colonna successiva. Questo perché ho scelto un tempo di sonno di 60 secondi tra le istantanee. (Di solito scelgoUptime
come primo valore in modo da poter vedere quale intervallo di tempo viene visualizzato). - La colonna di estrema destra non è incrementale. Questo perché è la prima istantanea che innotop ha in memoria, quindi non c’è nulla prima da sottrarre da esso. Inoltre, non sempre vuoi conoscere la differenza tra i valori. A volte vuoi conoscere il valore stesso. Questo ti dà una linea di base in modo da poter vedere sia i valori incrementali che assoluti allo stesso tempo.
- La seconda riga del display, sopra la tabella dei valori, mostra le opzioni di visualizzazione correnti. Puoi vedere incrementale è attivo e la media al secondo è disattivata. È possibile alternare questo con i tasti” i “e” a”, in modo da poter passare istantaneamente avanti e indietro tra diverse viste sui dati.
- Il display del numero lungo è acceso. È possibile attivare e disattivare con il tasto” l “(che è un minuscolo” L”) per un display più compatto.
È un modo piuttosto compatto per guardare 8 minuti di cronologia per il server, non sei d’accordo? Puoi facilmente ottenere molte più informazioni da questo display rispetto agli altri metodi che ho discusso. Ma c’è di più!
- Includo diverse scelte preimpostate di valori da visualizzare con innotop. È possibile passare avanti e indietro tra di loro con i tasti “0” attraverso “9”. Esistono preset per la cache delle query, le scansioni di tabelle e indici, le variabili InnoDB, le istruzioni di transazione e altro ancora. Tutto sommato, c’è spazio per dieci serie di valori.
- È possibile personalizzare ogni set con il tasto” c”. Scegli e scegli tra qualsiasi valore in STATO e VARIABILI, come ho detto. Questo viene salvato nel file di configurazione, quindi è lì quando si esce e si riavvia innotop.
- È possibile scegliere il numero di istantanee che si desidera visualizzare, da 2 a 9, in modo da poter decidere quanta storia si desidera guardare su uno schermo.
Metodo 2: modellato dopo tload
Un altro modo per monitorare queste variabili è disegnare un grafico nello stile di tload
. La teoria alla base di questa modalità è che scegli alcuni valori (con il tasto “c”, come al solito) e innotop ridimensionerà la media al secondo dei valori rispetto al massimo che abbia mai visto, e usalo per disegnare un bel grafico. Si entra in modalità Grafico con il tasto “G”.
Questo non è proprio come tload
, perché il grafico va dall’alto verso il basso, non da sinistra a destra. Stampa periodicamente un’intestazione, incluso il “valore massimo” rispetto al quale sta ridimensionando.
In pratica, non ho ancora capito bene. Non sono sicuro di come ridimensionarlo. Non ho problemi a fare la matematica, ma il ridimensionamento rispetto al “valore massimo mai visto” non sembra produrre buoni risultati. A volte si traduce in un bel grafico; altre volte no. Continuo a pensare che ci debba essere un buon modo per calcolare il carico effettivo del server, quindi può essere graficamente significativo, ma non riesco a pensarci. Qualche suggerimento?
Non sono molto contento di questa modalità. Se non riesco a capire un modo per renderlo più utile, potrei liberarmi di questa funzionalità, anche se sono solo poche righe di codice.
Metodo 3: modellato su vmstat
Il mio collega John ha anticipato che il grafico non sarebbe stato così utile, molto a suo credito, e mi ha chiesto se potevo imitare vmstat
e iostat
invece di disegnare un grafico. Il risultato è la modalità “S”. Può stampare le stesse informazioni della modalità “G”, tranne che stampa valori invece di un grafico.
Penso che questo sia più utile della modalità “G”, anche se è in qualche modo ridondante rispetto alla modalità “V” che ho dimostrato sopra. Poiché i valori sono disposti sullo schermo e il tempo scorre dal basso verso l’alto dello schermo, è possibile inserire meno valori sullo schermo, ma è possibile visualizzare una finestra temporale più lunga.
Riepilogo delle modalità
Ti ho appena mostrato tre modalità innotop per monitorare lo stato e le informazioni variabili da un server MySQL:
- “V” modalità stampa una tabella di istantanee, con un sacco di opzioni diverse.
- La modalità”G” tenta di stampare un grafico, ma non sempre fa un ottimo lavoro.
- La modalità”S” stampa qualcosa di simile alla modalità “V”, ma i dati sono disposti in modo diverso.
Le tre modalità sono fondamentalmente modi diversi di guardare gli stessi valori. C’è qualche ridondanza tra loro, ma poiché richiede così poco codice per fare ognuno di essi, non mi interessa la ridondanza dal punto di vista della codifica. Non mi dispiace mantenere tre funzionalità con funzionalità simili, se dà più modi per utilizzare il monitor.
Se avete suggerimenti per miglioramenti, sto aspettando di sentire da voi :- )
Sommario
In questo articolo ho spiegato il vecchio modo di monitorare l’output di SHOW STATUS
e SHOW VARIABLES
, e poi ti ho mostrato come innotop può renderlo molto più veloce e più facile, e spero che ti dia abbastanza punti di vista diversi sui dati che puoi trovare quello che ti piace.
Restate sintonizzati per saperne di più su innotop; c’è molto di più da dire! È possibile iscriversi tramite feed o e-mail per mantenere corrente.