introduzione
Mytop è uno strumento gratuito basato su console per il monitoraggio delle prestazioni di MySQL. È simile all'utilità "top", ma visualizza le query MySQL. Con mytop puoi monitorare istantaneamente il tempo di attività di MySQL, i thread, le query, i comportamenti degli utenti e altre informazioni sullo stato in tempo reale, che possono essere utili per l'ottimizzazione delle prestazioni di MySQL.
In questo tutorial, ti mostrerò come installare, configurare e utilizzare mytop su un server Vultr appena creato basato sull'applicazione LEMP con un clic.
Prerequisiti
Prima di procedere, è necessario:
Fase 1: installare mytop utilizzando il repository yum EPEL
Con l'aiuto del repository yum EPEL (Pacchetti extra per Enterprise Linux), puoi installare facilmente mytop sul tuo server. Per impostazione predefinita, il repository yum EPEL è stato installato quando si utilizza l'applicazione LEMP con un clic.
Puoi confermare l'esistenza del repository EPEL con:
sudo yum repolist
Vedrai il epel Extra Packages for Enterprise Linux 6 - x86_64
repository elencato.
Per proteggere i pacchetti nel repository EPEL dall'aggiornamento o dall'override dei pacchetti in altri repository, è necessario installare il plug-in "protectbase":
sudo yum install yum-plugin-protectbase.noarch -y
Quindi modificare il file /etc/yum.repos.d/epel.repo
, inserire:
cd /etc/yum.repos.d
sudo vi epel.repo
Aggiungi una riga protect=1
alla sezione [epel]
:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
protect=1
Salva e chiudi il file.
Infine, installa mytop con:
sudo yum install mytop -y
Per semplificare l'utilizzo di mytop, è possibile creare un file di configurazione personalizzato denominato /root/.mytop
. Quando esegui mytop come utente root o non root con privilegi sudo, il programma invocherà automaticamente questo file di configurazione. Se si desidera eseguirlo come utente non root senza privilegi sudo, è necessario inserire il file di configurazione nella directory home dell'utente non root.
Per riferimento, ecco un esempio del file di configurazione /root/.mytop
:
user=root
pass=
host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
Il contenuto di questo file fornisce argomenti predefiniti al programma mytop, riducendo l'immissione manuale durante l'utilizzo. Tuttavia, se si esegue il programma con argomenti immessi manualmente, gli argomenti della riga di comando sovrascriveranno gli argomenti corrispondenti nel file di configurazione.
È possibile modificare questi argomenti in base alle proprie condizioni specifiche. Alcuni dei significati degli argomenti sono elencati di seguito:
- utente: nome utente del database.
- pass: la password per l'utente del database. Per motivi di sicurezza, è possibile lasciarlo vuoto e inserire la password manualmente.
- host: l'indirizzo host del database.
- db: il nome del database.
- ritardo: visualizza l'intervallo di aggiornamento in secondi.
Le spiegazioni complete per ogni argomento sono disponibili nella pagina del manuale:
man mytop
Come accennato in precedenza, l'utilità mytop utilizza entrambi gli argomenti nel file di configurazione e gli argomenti della riga di comando e quest'ultimo sostituirà di conseguenza il primo.
Pertanto, con un file di configurazione in ordine, è sufficiente immettere il comando con pochi argomenti.
Ad esempio, se si desidera inserire la password con una richiesta di maggiore sicurezza, è possibile inserire:
sudo mytop --prompt
Quindi immettere la password per il database predefinito e la radice utente, che è possibile trovare /root/.my.cnf
, per accedere all'interfaccia del programma mytop.
Ecco un altro esempio. Se si desidera monitorare un database specifico, è possibile utilizzare:
sudo mytop -d yourdatabasename --prompt
Sostituisci yourdatabasename
con il tuo.
Nell'interfaccia del programma mytop, troverai qualcosa del tipo:
MySQL on localhost (5.6.26-log) up 0+08:36:33 [12:07:15]
Queries: 921.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 00/00/00/00
qps now: 0 Slow qps: 0.0 Threads: 1 ( 1/ 0) 00/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.8/140.7 Now in/out: 9.7/ 1.9k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
14 root localhost mysql 0 Query show full processlist
Questa è la vista thread predefinita di mytop, puoi sempre passare a questa vista premendo t .
Le prime quattro linee costituiscono l'intestazione che può essere attivata o disattivata premendo Maiusc + h . L'intestazione contiene informazioni generali sul tuo server MySQL.
Sotto l'intestazione, puoi vedere i dati di stato degli attuali thread MySQL.
Per ricevere assistenza, premere ? ( Maiusc + / ) quando il programma è in esecuzione.
Per uscire dal programma, premere q .
Maggiori dettagli sulla visualizzazione e l'utilizzo di mytop sono disponibili nella sua pagina man:
man mytop
Questo è tutto. Puoi utilizzare i dati raccolti da mytop per implementare l'ottimizzazione informata di MySQL.