Zwrócenie uwagi kierownictwa jest dobrą rzeczą, jeśli dzieje się to z pozytywnych powodów. Ale wielu administratorów baz danych w rzeczywistości wolałoby pozostać poza zasięgiem radaru. Ponieważ administratorzy baz danych są odpowiedzialni za upewnienie się, że bazy danych organizacji działają płynnie, kiedy wszystko idzie dobrze, administratorzy baz danych zazwyczaj powstrzymują się i robią swoje w spokoju. Ale kiedy coś pójdzie nie tak, nagle jesteś najważniejszą nazwą na liście Most Wanted firmy.
Administratorzy baz danych ponoszą dużą odpowiedzialność w organizacji i istnieje wiele sposobów, w jakie sprawy mogą pójść na marne, ale postępując zgodnie z kilkoma najlepszymi praktykami monitorowania bazy danych MySQL, możesz być pewien, że jesteś rozpoznawany przez kierownictwo za swój ostry jak brzytwa dowcip, a nie za bazę danych awaria, której rozwiązanie zajęło trzy dni.
Przeprowadzaj regularne kontrole stanu bazy danych
W przypadku administratora bazy danych MySQL zaplanowanie regularnych kontroli stanu baz danych jest prawie tak samo ważne, jak planowanie ich dla siebie (Uwaga:Potraktuj to jako przypomnienie, aby umówić się na wizytę w związku z tym fizycznym odkładaniem!).
Podobnie jak ludzie, nie wszystkie bazy danych mają takie same potrzeby w zakresie konserwacji, dlatego kontrole kondycji powinny być dostosowane do określonych wymagań dotyczących funkcji bazy danych. Na przykład bazy danych o znaczeniu krytycznym dla misji lub życia wymagają częstszych kontroli niż bazy danych o znaczeniu niekrytycznym. Awaria systemu obrony przeciwrakietowej ma znacznie bardziej dotkliwe konsekwencje niż awaria programu częstego nagradzania klientów lokalnej księgarni.
Podczas konfigurowania rutynowych kontroli stanu należy skupić się na kilku obszarach, które dostarczą informacji, które pomogą określić bieżące problemy związane z MySQL, które należy rozwiązać.
Dostępność MySQL
Dostępność jest prawdopodobnie najważniejszym wskaźnikiem, który należy śledzić. Jeśli baza danych nie jest dostępna, śledzenie pozostałych wskaźników nie ma większego sensu, dopóki nie zostanie to naprawione. Uruchom -mysqladmin -h 192.168.1.95 -u root -p status, aby sprawdzić dostępność, a następnie rozpocznij diagnostykę, jeśli wystąpi problem.
Nieudane połączenia
Śledzenie liczby nieudanych połączeń w czasie może wykryć złośliwą aktywność, a także mniej groźne błędy w aplikacji, takie jak niewłaściwie zastosowane uprawnienia i nieprawidłowe hasła.
Uruchom polecenie SHOW GLOBAL STATUS LIKE „aborted_connects”; aby określić, ile przerwanych prób połączenia miało miejsce w bazie danych w danym okresie.
Dzienniki błędów
Monitorowanie dzienników błędów to świetny sposób na sprawdzenie, jakie błędy wystąpiły i czy istnieją jakieś wzorce, które mogą wskazywać na większy, powtarzający się problem, który należy rozwiązać.
Zakleszczenia w InnoDB
Zakleszczenia MySQL występują, gdy różne transakcje blokują zasób, którego potrzebuje druga transakcja. Zakleszczenia powodują spowolnienie przetwarzania i przekroczenia limitów czasu — oraz irytację użytkowników. Użyj POKAŻ STAN INNODB SILNIKA; zlokalizować zakleszczenia i je rozwiązać.
Zmiany konfiguracji
Nagły spadek wydajności może być spowodowany kilkoma różnymi rzeczami. Możesz jednak zaoszczędzić trochę czasu na rozwiązywanie problemów, przeglądając ostatnie zmiany konfiguracji i dostosowując te, które mają negatywny wpływ na wydajność.
Dziennik powolnych zapytań
Powolne zapytania powodują, że baza danych działa wolniej, ponieważ zużywają nadmiernie procesor i pamięć. Regularnie przeglądaj dziennik powolnych zapytań, aby określić, czy jakiekolwiek zapytania wykazują nadmierny czas wykonywania, a następnie rozwiązuj problemy, aby określić i usunąć główną przyczynę.
Utrzymuj widoczność, aby zrozumieć podstawową przyczynę problemów z wydajnością MySQL
Przeprowadzanie regularnych kontroli kondycji baz danych MySQL jest niezbędne do utrzymania wysokiej dostępności i zminimalizowania chronicznych problemów z wydajnością, ale istnieją pewne ograniczenia dotyczące przydatności kontroli kondycji do ogólnego rozwiązywania problemów z systemem.
Ponieważ okresowe problemy z wydajnością mogą nie pojawiać się podczas rutynowych kontroli kondycji, ważne jest zapewnienie ciągłego wglądu w środowisko MySQL. Szybka identyfikacja i rozwiązywanie problemów z wydajnością oznacza mniej przestojów i mniej problemów z wydajnością, które negatywnie wpływają na użytkowników.
Jednym z najlepszych sposobów zachowania wglądu w systemy baz danych MySQL jest ustawianie alertów o zdarzeniach krytycznych, dzięki czemu możesz szybko reagować po przekroczeniu progu i dotrzeć do głównej przyczyny problemu.
Jako minimum należy ustawić progi alarmowe dla następujących typowych źródeł pogorszenia wydajności:
- Znaczące odchylenia od podstawowych wskaźników wydajności MySql
- Wysokie użycie procesora
- Opóźnienie zapytania
- Błędy zapytań
- Limity połączeń
- Wykorzystanie puli buforów
Szybko identyfikuj i rozwiązuj problemy z wydajnością
Być może uda Ci się uniknąć śledzenia wydajności za pomocą wewnętrznych skryptów w małym, statycznym środowisku, ale skrypty nie zastąpią proaktywnego monitorowania wymaganego do nadążania za dużymi, dynamicznymi systemami, które stale się rozwijają.
W prawie każdej sytuacji najlepsze narzędzie do monitorowania komercyjnych baz danych będzie najlepszym sposobem na szybkie identyfikowanie i rozwiązywanie problemów, zanim spowodują one poważne problemy.
Na rynku istnieje wiele narzędzi do monitorowania wydajności oferujących szeroki zakres funkcji w wielu różnych przedziałach cenowych. Wybór odpowiedniego narzędzia dla Twojej organizacji sprowadza się do tego, które najlepiej odpowiada Twoim konkretnym potrzebom w cenie odpowiadającej Twojemu budżetowi.
Chociaż nie ma jednego uniwersalnego narzędzia, istnieje kilka ważnych funkcji monitorowania bazy danych, których warto szukać w dowolnym narzędziu do monitorowania wydajności:
- Skalowalność
- Monitorowanie mobilne
- Intuicyjny interfejs użytkownika
- Przyjazny dla budżetu, ale bogaty w funkcje
- Bez zaślepki połączenia
- Wielowymiarowa analiza obciążenia
- Analiza głównej przyczyny alarmu
- Analiza blokowania
- Inteligentne alarmy
- Śledzenie danych historycznych