4 χρήσιμα εργαλεία γραμμής εντολών για την παρακολούθηση της απόδοσης της MySQL στο Linux


Υπάρχουν πολλά εργαλεία για την παρακολούθηση της απόδοσης του MySQL και την αντιμετώπιση προβλημάτων ενός διακομιστή, αλλά δεν ταιριάζουν πάντα τέλεια με έναν προγραμματιστή ή διαχειριστή MySQL για τις κοινές του ανάγκες ή μπορεί και όχι λειτουργούν σε ορισμένες περιπτώσεις, όπως απομακρυσμένη ή μέσω web παρακολούθησης.

Ευτυχώς, υπάρχει ποικιλία εργαλείων ανοιχτού κώδικα που δημιουργήθηκαν από την κοινότητα MySQL για την κάλυψη των κενών. Από την άλλη πλευρά, είναι πολύ δύσκολο να εντοπίσουμε αυτά τα εργαλεία μέσω αναζητήσεων στον ιστό, αυτός είναι ο λόγος που έχουμε συγκεντρώσει 4 εργαλεία γραμμής εντολών για την παρακολούθηση της βάσης δεδομένων MySQL uptime<, φόρτωση και απόδοση στο Linux.

Το Uptime σημαίνει πόσο καιρό λειτουργεί και ανεβεί η βάση δεδομένων από τον τελευταίο τερματισμό ή επανεκκίνηση της. Η λήψη πληροφοριών σχετικά με το χρόνο λειτουργίας είναι πολύ σημαντική σε πολλές περιπτώσεις, καθώς βοηθά τους διαχειριστές συστημάτων να ελέγχουν την κατάσταση της βάσης δεδομένων MySQL, πόσα ερωτήματα ανά δευτερόλεπτο εξυπηρετεί η βάση δεδομένων MySQL, νήματα, αργά ερωτήματα και πολλά ενδιαφέροντα στατιστικά στοιχεία.

1. Mytop

Το Mytop είναι ένα από τα κλασικά εργαλεία παρακολούθησης ανοιχτού κώδικα και δωρεάν κονσόλας (χωρίς gui) για τη βάση δεδομένων MySQL γράφτηκε από τον Jereme Zawodny χρησιμοποιώντας γλώσσα Perl. Το Mytop εκτελείται σε ένα τερματικό και εμφανίζει στατιστικά στοιχεία σχετικά με νήματα, ερωτήματα, αργά ερωτήματα, χρόνο λειτουργίας, φόρτωση κ.λπ. σε μορφή πίνακα, παρόμοια με το κορυφαίο πρόγραμμα Linux. Το οποίο έμμεσα βοηθά τους διαχειριστές να βελτιστοποιήσουν και να βελτιώσουν την απόδοση του MySQl για να χειριστούν μεγάλα αιτήματα και να μειώσουν το φόρτο του διακομιστή.

Υπάρχουν διαθέσιμα πακέτα mytop για διάφορες διανομές Linux, όπως Ubuntu, Fedora και CentOS. Για περισσότερα σχετικά με τις οδηγίες εγκατάστασης, διαβάστε: Πώς να εγκαταστήσετε το Mytop (MySQL Monitoring) στο Linux

2. Mtop

Το mtop (MySQL top) είναι ένα άλλο παρόμοιο εργαλείο παρακολούθησης του διακομιστή MYSQL σε πραγματικό χρόνο, ανοιχτού κώδικα, βασισμένο σε γραμμή εντολών, γραμμένο σε γλώσσα Perl που εμφανίζει τα αποτελέσματα σε μορφή πίνακα όπως το mytop. Το mtop παρακολουθεί τα ερωτήματα MySQL που χρειάζονται τον περισσότερο χρόνο για να ολοκληρωθούν και σκοτώνει αυτά τα μακροχρόνια ερωτήματα μετά από συγκεκριμένο καθορισμένο χρόνο.

Επιπλέον, μας δίνει επίσης τη δυνατότητα να εντοπίζουμε προβλήματα που σχετίζονται με την απόδοση, πληροφορίες διαμόρφωσης, στατιστικά στοιχεία απόδοσης και συμβουλές σχετικά με τον συντονισμό από τη διεπαφή της γραμμής εντολών. Τα δύο εργαλεία είναι πολύ παρόμοια, αλλά το mtop δεν διατηρείται ενεργά και ενδέχεται να μην λειτουργεί σε πρόσφατα εγκατεστημένες εκδόσεις MySQL.

Για περισσότερα σχετικά με τις οδηγίες εγκατάστασης διαβάστε: Πώς να εγκαταστήσετε το Mtop (MySQL Monitoring) στο Linux

3. Innotop

Το Innotop είναι ένα προηγμένο πρόγραμμα έρευνας που βασίζεται στη γραμμή εντολών σε πραγματικό χρόνο για την παρακολούθηση τοπικών και απομακρυσμένων διακομιστών MySQL που εκτελούνται υπό τη μηχανή InnoDB. Το Innotop περιλαμβάνει πολλές δυνατότητες και διαθέτει διαφορετικούς τύπους λειτουργιών/επιλογών, κάτι που μας βοηθά να παρακολουθούμε διάφορες πτυχές της απόδοσης της MySQL για να ανακαλύψουμε τι συμβαίνει με τον διακομιστή MySQL.

Για περισσότερα σχετικά με τις οδηγίες εγκατάστασης, διαβάστε: Πώς να εγκαταστήσετε το Innotop (MySQL Monitoring) στο Linux

4. mysqladmin

Το mysqladmin είναι ένας προεπιλεγμένος πελάτης γραμμής εντολών MySQL που παρέχεται προεγκατεστημένο με το πακέτο MySQL για την εκτέλεση διαχειριστικών λειτουργιών όπως παρακολούθηση διαδικασιών, έλεγχος διαμόρφωσης διακομιστή, επαναφόρτωση δικαιωμάτων, τρέχουσα κατάσταση, ορισμός κωδικού πρόσβασης root, αλλαγή κωδικού πρόσβασης root, δημιουργία/απόθεση βάσεων δεδομένων και πολλά άλλα.

Για να ελέγξετε την κατάσταση mysql καθώς και το χρόνο λειτουργίας, εκτελέστε την ακόλουθη εντολή από το τερματικό και βεβαιωθείτε ότι πρέπει να έχετε δικαιώματα root για να εκτελέσετε την εντολή από το κέλυφος.

[root@localhost ~]# mysqladmin -u root -p version
Enter password:
Δείγμα εξόδου
mysqladmin  Ver 8.42 Distrib 5.1.61, for redhat-linux-gnu on i386
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		5.1.61-log
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			20 days 54 min 30 sec

Threads: 1  Questions: 149941143  Slow queries: 21  Opens: 752  Flush tables: 1  Open tables: 745  Queries per second avg: 86.607

Για περισσότερα σχετικά με τις εντολές και τα παραδείγματα mysqladmin, διαβάστε: 20 εντολές mysqladmin για διαχείριση MySQL στο Linux

συμπέρασμα

Αν ψάχνετε για ένα καλό εργαλείο οθόνης για τη δική σας δουλειά, προτείνω τα mytop και innotop. Παλιότερα βασιζόμουν στο mytop για τους καθημερινούς μου σκοπούς παρακολούθησης, αλλά τώρα μεταπήδησα στο innotop, επειδή εμφανίζει πολύ περισσότερα στατιστικά στοιχεία και πληροφορίες, συμπεριλαμβανομένων σημαντικών συναλλαγών.