Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 13963|Απάντηση: 0

[Πηγή] Η Mysql χρησιμοποιεί προφίλ για να αναλύσει τους λόγους αργής εκτέλεσης των δηλώσεων SQL

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 6/7/2017 11:12:17 π.μ. | | | |

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

1 Εισαγωγή

Το Query Profiler της MySQL είναι ένα πολύ βολικό εργαλείο διαγνωστικής ανάλυσης ερωτημάτων, μέσω του οποίου μπορείτε να αποκτήσετε την κατανάλωση πολλαπλών πόρων σε ολόκληρη τη διαδικασία εκτέλεσης ενός ερωτήματος, όπως CPU, IO, IPC, SWAP κ.λπ., καθώς και την εμφάνιση ΣΦΑΛΜΑΤΩΝ ΣΕΛΙΔΑΣ, ΔΙΑΚΟΠΤΗ ΠΕΡΙΒΑΛΛΟΝΤΟΣ κ.λπ., καθώς και να λάβετε τη θέση κάθε συνάρτησης που καλείται από τη MySQL στο αρχείο προέλευσης κατά την εκτέλεση του ερωτήματος.

Η MySQL έκδοση 5.0.37 ή νεότερη υποστηρίζει τη λειτουργία εντοπισμού σφαλμάτων PROFILING, η οποία σας επιτρέπει να κατανοήσετε τις λεπτομέρειες των πόρων που καταναλώνονται από τις δηλώσεις SQL. Επειδή απαιτεί την κλήση της συνάρτησης getrusage() του συστήματος, μπορεί να χρησιμοποιηθεί μόνο σε πλατφόρμες κλάσης Linux/Unix και όχι σε Windows. Επιπλέον, το PROFILING προορίζεται για διαδικασίες επεξεργασίας και όχι για νήματα και άλλες εφαρμογές στον διακομιστή ενδέχεται να επηρεάσουν τα αποτελέσματα εντοπισμού σφαλμάτων, επομένως αυτό το εργαλείο είναι κατάλληλο για εντοπισμό σφαλμάτων κατά την ανάπτυξη και εάν θέλετε να κάνετε εντοπισμό σφαλμάτων σε περιβάλλον παραγωγής, θα πρέπει να δώσετε προσοχή στους περιορισμούς του.

2 Επιχείρηση

2.1 Ελέγξτε εάν το προφίλ είναι ενεργοποιημένο, είναι απενεργοποιημένο από προεπιλογή.


2.2 Ενεργοποίηση δημιουργίας προφίλ. Το προφίλ μεταβλητής είναι μια μεταβλητή χρήστη που πρέπει να ενεργοποιείται εκ νέου κάθε φορά.


2.3 Εκτελέστε τις ακόλουθες προτάσεις: Για να αποφύγετε την προηγούμενη αποθήκευση SQL σε QCACHE, συνιστάται να αναγκάσετε τη δήλωση SELECT να μην εκτελεί ανίχνευση QCACHE κατά την εκτέλεση SQL. Αυτό σας επιτρέπει να υποβάλετε την ακρίβεια της ανάλυσης.


2.4 ΧρήσηΕμφάνιση ερωτήματος προφίλΤο πιο πρόσφατοΠληροφορίες εκτέλεσης της δήλωσης。 (Ανάλυση: επιλέξτε sql_no_cache count(*) από system_user όπου η ηλικία > 20 ετών)




2.5 Χρήση προφίλ εμφάνισης. Δείτε μια λίστα με τις προτάσεις που εκτελούνται στο διακομιστή. (αναγνωριστικό ερωτήματος, χρόνος που δαπανήθηκε, δήλωση).




2.6 Χρησιμοποιήστε την εμφάνιση προφίλ για να ρωτήσετε τις πληροφορίες εκτέλεσης του αναγνωριστικού σύνθεσης. Εδώ αναλύουμε τη δήλωση με ID 6. (Ανάλυση: επιλέξτε sql_no_cache count(*) από system_user όπου η ηλικία > 20 ετών).


2.7 Αποκτήστε CPU και αποκλείστε την κατανάλωση IO.




2.8 Λήψη πρόσθετων πληροφοριών. μπορεί να ληφθεί εκτελώντας "ΕΜΦΑΝΙΣΗ ΠΡΟΦΙΛ *** ΓΙΑ ΕΡΩΤΗΜΑ n". Διεύθυνση αναφοράς: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.







Προηγούμενος:Αναφορές νεοεισερχόμενων
Επόμενος:Blockbuster νέα! Η ανάπτυξη μίνι προγράμματος είναι δωρεάν!
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com