Kolega z CleverCode niedawno polecił narzędzie do analizy instrukcji SQL w MySQL, profilowania, i stwierdził, że jest ono bardzo dobre, potrafi dokładnie analizować, gdzie dokładnie poświęcony czas na instrukcje SQL podczas procesu zapytania. CleverCode podsumowuje to tutaj i udostępnia z Tobą.
1 Wprowadzenie
Query Profiler firmy MySQL to bardzo wygodne narzędzie do analizy diagnostyki zapytań, dzięki któremu można uzyskać zużycie wielu zasobów podczas całego procesu wykonywania zapytania, takich jak CPU, IO, IPC, SWAP itd., a także wystąpienie błędów strony, przełączania kontekstu itp., a także lokalizować każdą funkcję wywoływaną przez MySQL w pliku źródłowym podczas wykonywania zapytania.
MySQL w wersji 5.0.37 lub nowszej obsługuje funkcję debugowania PROFILING, która pozwala zrozumieć szczegóły zasobów zużywanych przez instrukcje SQL. Ponieważ wymaga wywołania funkcji getrusage() systemu, może być używany tylko na platformach klasy Linux/Unix, a nie na Windows. Co więcej, PROFILOWANIE służy do przetwarzania procesów, a nie wątków, a inne aplikacje na serwerze mogą wpływać na wyniki debugowania, więc to narzędzie nadaje się do debugowania podczas programowania, a jeśli chcesz debugować w środowisku produkcyjnym, powinieneś zwrócić uwagę na jego ograniczenia.
2 Działanie
2.1 Sprawdź, czy profil jest włączony, domyślnie jest wyłączony.
2.2 Włącz profilowanie. Profilowanie zmiennych to zmienna użytkownika, którą należy za każdym razem ponownie włączać.
2.3 Wykonaj następujące instrukcje: Aby uniknąć wcześniejszego przechowywania SQL w QCACHE, zaleca się wymuszanie wykonywania wykrywania QCACHE podczas wykonywania SQL. Pozwala to przesłać dokładność analizy.
2.4 ZastosowaniePokaż zapytanie profiloweTo najnowszeInformacje o wykonaniu oświadczenia。 (Analiza: wybierz sql_no_cache liczenie(*) z system_user, gdzie wiek > 20 lat)
2.5 Wykorzystanie profili programowych. Zobacz listę instrukcji wykonywanych na serwerze. (ID zapytania, poświęcony czas, zdanie).
2.6 Użyj profilu pokazu do zapytania o informacje wykonawcze ID formuły. Tutaj analizujemy oświadczenie za pomocą ID 6. (Analiza: wybierz sql_no_cache count(*) z system_user, gdzie wiek > 20 lat).
2.7 Uzyskanie CPU i blokowanie poboru IO.
2.8 Pozyskiwanie dodatkowych informacji. można uzyskać przez wykonanie "POKAŻ PROFIL *** DLA ZAPYTANIA n". Adres referencyjny: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|