Mis on mytop?
Mytop on avatud lähtekoodiga käsurea tööriist, mida kasutatakse MySQL/MariaDB päringute monitooringuks. See on sarnane Linuxi süsteemijälgimise tööriistaga top. Mytop ühendub SQL serveriga ja käivitab perioodiliselt show processlist ja show global status käske, mille väljund kuvatakse mugavalt terminali aknasse. Mytop näitab reaalajas kõiki hetkel jooksvaid SQL päringuid, mida soovi korral saab kiirelt ja mugavalt näiteks KILL-ida või EXPLAIN-da, et näha indexite efektiivsust. Lisaks saab jälgida üldist MySQL serveri koormust ja päringute arvu sekundis (QPS). Kui mytop käivitatakse slave serveris, saab näha kas slave on korrektselt syncis või mitu sekundit ollakse masterist parajasti maas.
Mytop seadistamine
Mytop kasutamiseks on vajalik serverile SSH ligipääs. Juhend SSH ühenduse loomiseks.
Zone serveris kasutusel olev mytop oskab SQL ühenduseks vajalikke ligipääsuandmeid lugeda WordPressi, Magento ja Laraveli konfiguratsioonifailidest.
Piisab, kui logida sisse SSH-sse, minna rakenduse kataloogi: cd domeenid/www.domeen.ee/htdocs/
ja käivitada mytop
.
SQL ühenduse loomiseks eraldi kasutajanime ja salasõna seadistamiseks, tuleb peale SSH-sse sisse logimist meelepärase tekstiredaktoriga avada ~/.my.cnf fail.
Faili sisu on järgnev:
[client] host = d150.mysql.zonevs.eu user = d150_lisa password = 0J%yFiuP7KW^6O9Y
user peab olema SQL kasutajanimi ja password SQL salasõna. Need leiab vajadusel veebirakenduse seadistuste failist.
Ühendust on võimalik luua ka seadistuste panemisel otse käsurea parameetriteks.
Näiteks:
:~> mytop -u d150_lisa -p 0J%yFiuP7KW^6O9Y -h d150.mysql.zonevs.eu
Peale ühenduse loomist peaks avanema järgnev pilt:
Ridade värvid
Selleks, et mugavalt eristada lugemis ja kirjutamispäringuid on kõik SELECT päringud rohelised ning UPDATE/DELETE/ALTER päringud punased. Kõik muud päringud on kollased. Kui päring on käinud kauem kui 10 sekundit, siis läheb värv vastavalt kas heleroheliseks või helepunaseks. Värvide nägemiseks peab SSH klient toetama ANSI värve. Värvide sisse ja välja lülitamiseks vajuta ‘C’ klahvile.
Tulbad
- Id on ühenduse identifikaator. Iga uus ühendus saab uue id. Seda numbrit kasutatakse päringu kohta täpsema info saamiseks
- User on kasutajanimi, millega SQL serverisse ühendus on loodud
- Host/IP on kliendi hostname või IP, mille pealt ühendus on loodud. Reeglina on see veebiserveri hostname või “localhost”
- DB on andmebaasi nimi, kus vastav päring jookseb
- Time on aeg, kaua päring on jooksnud
- Cmd on SQL päringu tüüp.
- State on SQL päringu olek.
- Query on SQL päring, mis parajasti jookseb
Tähele tasub panna, et ruumi kokkuhoiu huvides on mitmete tulpade väärtuste pikkused kärbitud. Näiteks andmebaasi nimi ei pruugi olla terviklik. Samuti pikast päringust ekraanile vaid algus. Täpse andmebaasi nime ja päringu saamiseks tasub kasutada EXPLAIN-i.
Päringu EXPLAIN
Kui nimekirjas jääb silma mõni päring, mis käib liiga kaua, siis seda päringut saab lihtsalt EXPLAIN-da vajutades ‘e’ tähte ja kirjutades vastava päringu Id.
Järgnevas väljundus kuvatakse andmebaasi nime ja täispikka päringut, millele järgneb EXPLAIN väljund. Kui päringus läbikäidud ridade arv ületab 1000, siis kuvatakse vastavat infot punaselt.
Päringu tapmine
Päringu tapmiseks tuleb vajutada ‘k’ tähte ja sisestada päringu Id.
Mytop-st väljumine
Programmist väljumiseks vajuta ‘q’.
Serveri päringute monitooring
Vajutades ‘m’ tähte läheb mytop “Päringuid sekundis“ režiimi ja kuvab iga sekund tehtud SQL päringute arvu. Sellest režiimist saab välja vajutades ‘q’.
Tegevusetud päringud
Mytop ei kuva vaikimisi tegevusetuid (Sleep) päringuid. Selleks, et neid päringuid näha, tuleb vajutada ’i’ klahvi.
Rohkem infot
Vajutades klahvile ‘?’ kuvatakse rohkem infot mytop võimaluste kohta.