Monitor BD — aplikacja do pracy z bazą danych
Aplikacja „Monitor DB” jest przeznaczona do profilowania: zbierania i analizowania danych statystycznych o żądaniach bazy danych, przeglądania podsumowań informacji o tych danych.
Za pomocą aplikacji „Monitor DB” dostępne jest:
- przeglądanie bieżących procesów bazy danych;
- masową zmianę silnika przechowywania danych tabel bazy danych: InnoDB na MyISAM i MyISAM na InnoDB;
- rejestrowanie żądań SQL za okres od 1 minuty do 24 godzin
- analizowanie i grupowanie zarejestrowanych żądań w celu dalszego przeglądania podsumowań informacji;
- przeglądanie ostatnich 100 żądań w ramach grupy żądań, w tym śledzenie stosu (można zobaczyć łańcuch klas i metod, które wywołały to żądanie);
- wyświetlanie 100 najwolniejszych żądań w grupie żądań, w tym śledzenie stosu (można zobaczyć łańcuch klas i metod, które wywołały to żądanie);
- eksportowanie ogólnych statystyk grup żądań do formatu Excel lub PDF;
- przeglądanie planu wykonania grupy zapytań;
- przeglądanie podsumowania informacji o tabelach bazy danych zaangażowanych w grupę zapytań;
- przeglądanie zaleceń dotyczących tworzenia indeksów w tabelach bazy danych;
- dodawanie/usuwanie indeksów na podstawie zaleceń;
- uzyskanie aktualnego czasu wykonania najwolniejszego żądania z grupy żądań i porównanie go ze starym i średnim czasem w celu przeanalizowania wpływu zmian wprowadzonych w strukturze bazy danych;
- przeglądanie ostatnich zarejestrowanych SQL żądań (z konfigurowalnym limitem od 1000 do 50000 żądań);
- przeglądanie statystyk/statusu serwera MySQL;
- przeglądanie ustawień serwera MySQL.
Aplikacja „Monitor DB” nie działa na zasadzie „zainstaluj i przyspiesz bazę danych” — jest to narzędzie dla specjalistów posiadających kompetencje w pracy z bazami danych.
Używanie aplikacji „Monitor DB”.
Bieżące procesy.
Na tej stronie można zobaczyć, które wątki są obecnie uruchomione. Informacje te można również uzyskać za pomocą polecenia mysqladmin processlist. Jeśli masz uprawnienia SUPER, możesz przeglądać wszystkie wątki, w przeciwnym razie tylko własne wątki.
Informacje te są bardzo przydatne, jeśli pojawi się komunikat o błędzie 'too many connections' (zbyt wiele połączeń) i trzeba dowiedzieć się, co się dzieje.
Zmiana silnika przechowywania danych.
Na tej stronie można masowo zmienić/wybrać silnik przechowywania dla każdej tabeli bazy danych: InnoDB lub MyISAM. W tabeli opisano różnicę między tymi dwoma silnikami z prostymi przykładami.
Opis | MyISAM | InnoDB |
---|---|---|
Obsługa transakcji (Transaction) - blok wyrażeń SQL, który w przypadku błędu w jednym żądaniu powraca do poprzedniego stanu (Rollback), a dopiero w przypadku wykonania wszystkich żądań jest zatwierdzany (Commit). | Nie | Tak |
Obsługa kluczy obcych to sposób na powiązanie rekordów w dwóch tabelach za pomocą określonych pól, tak aby po zaktualizowaniu pola w tabeli nadrzędnej automatycznie następowała zmiana określonego pola w tabeli podrzędnej (podczas tworzenia klucza wybierasz dziecko i rodzica; dokładniej, tworzysz klucz w tabeli podrzędnej, który odwołuje się do tabeli nadrzędnej). | Nie | Tak |
Blokowanie na poziomie wiersza, tj. jeśli proces musi zaktualizować wiersz w tabeli, blokuje tylko ten wiersz, umożliwiając innym równoległą aktualizację innych wierszy. | na poziomie tabeli | na poziomie wiersza |
Jednoczesne żądania do różnych części tabeli. | Wolniej | Szybciej |
Przy mieszanym obciążeniu w tabeli (select/update/delete/insert) | Wolniej | Szybciej |
Operacja Insert | Szybciej | Wolniej, ponieważ istnieje narzut na transakcję, ale jest to cena niezawodności. |
Jeśli przeważają operacje odczytu (SELECT) | Działa szybciej | Działa wolniej |
Deadlock — sytuacja w środowisku wielozadaniowym lub SZBD (System Zarządzania Bazami Danych), w której kilka procesów znajduje się w stanie nieskończonego oczekiwania zasobów przechwyconych przez same te procesy. | Nie powstają | Możliwe. |
Obsługa wyszukiwania pełnotekstowego | Tak | Nie (dostępne od wersji MySQL 5.6.4) |
Żądanie Count(*) | Szybciej | Wolniej |
Obsługa mysqlhotcopy to skrypt Perl, który używa poleceń SQL LOCK TABLES, FLUSH TABLES oraz Unix-narzędzi cp lub scp, aby szybko wykonać kopię zapasową bazy danych. | Tak | Nie |
Przechowywanie tabel w plikach | Każda tabela jest oddzielnym plikiem | Dane w ustawieniach domyślnych są przechowywane w dużych udostępnianych plikach |
Binarne kopiowanie tabel. Pliki tabel mogą być przenoszone między komputerami o różnych architekturach i różnych systemach operacyjnych bez żadnej konwersji. | Tak | Nie |
Rozmiar tabel w bazie danych | Mniej | Dużej |
Postępowanie w przypadku awarii | Crach całej tabeli | Z dzienników można odzyskać wszystko |
W przypadku przechowywania „logów” itp. | Lepiej | Gorzej |
Podsumowanie:
- MyISAM lepiej stosować w tabelach, w których dominuje jeden typ dostępu: odczyt ( witryna z wiadomościami) lub zapis (np. logowanie);
- Użycie InnoDB ma sens we wszystkich innych przypadkach i przypadkach zwiększonych wymagań dotyczących bezpieczeństwa danych.
Zapis żądań.
Jeśli wybierzesz okres, w którym zapis będzie wykonywany, obciążenie bazy danych zostanie zwiększone, ponieważ oprócz normalnego wykonania żądania wymagane jest zapisanie informacji o nim w bazie danych, więc obciążenie witryny będzie większe niż zwykle.
Aby włączyć zapisywanie należy:
- określić w ustawieniu „Włącz rekord żądań SQL” okres, w ciągu którego będzie przechowywany zapis żądań przychodzących do bazy danych z frameworka;
- określić w ustawieniu „Wyczyść wcześniej zebrane dane”, czy poprzednio zarejestrowane żądania mają zostać usunięte przed rozpoczęciem zapisu;
W czerwonym okręgu obok ikony aplikacji „Monitor DB” można zobaczyć liczbę minut pozostałych do końca zapisu.
W ustawieniu „Analizuj żądania z czasem realizacji powyżej” określa się próg czasowy, który ma być używany podczas analizy żądań. Tylko te grupy żądań zostaną dodane do listy żądań, które zawierają żądania z czasem wykonania wyższym niż wartość określona w ustawieniu. Zalecamy rozpoczęcie analizy od wartości 0,1 sekundy i dalsze zmniejszanie jej w zależności od sytuacji. Nie ma potrzeby ponownego rozpoczynania zapisu - wystarczy zmienić ustawienie i ponownie kliknąć „Wykonaj analizę zarejestrowanych SQL żądań”.
Analiza SQL żądań.
W celu zebrania/aktualizacji danych należy nacisnąć przycisk „Aktualizuj dane podsumowania tabeli”. Po zakończeniu operacji w tabeli zostaną wyświetlone informacje o zgrupowanych zapytaniach wraz z ogólnymi statystykami. Klikając na ikonę w formie arkusza przejdziesz do okna dialogowego ze szczegółowymi informacjami na temat tej grupy żądań.
Na liście 100 ostatnich i 100 najwolniejszych żądań można zobaczyć poszczególne żądania zawarte w tej grupie, kiedy to żądanie zostało wykonane, czas wykonania i porównanie ze średnim czasem.
Ważne! Po naciśnięciu tego przycisku sprawdzany jest czas wykonania najwolniejszego żądania w grupie, więc nie należy się denerwować, jeśli wartość jest większa niż 100% średniej, porównaj ją z maksymalnym czasem wykonania żądania przedstawionym na stronie.
Klikając na ikonę w postaci zielonego kółka ze znaczkiem plus, zobaczysz stos wywołań funkcji, które doprowadziły do tego żądania. Informacje te pozwalają dowiedzieć się, która wtyczka, aplikacja, klasa, metoda doprowadziła do utworzenia tego żądania.
Zakładka „Plan wykonania żądania” zawiera informacje, które mogą pomóc zoptymalizować wydajność żądania. Informacje te są przydatne dla twórców wtyczek i aplikacji do analizowania i rozwiązywania problemów z wydajnością ich żądań.
Zakładka „Tabele BD” zawiera informacje (silnik przechowywania danych, format przechowywania, rozmiar danych, lista kolumn z typem danych, lista indeksów) o wszystkich tabelach bazy danych, które są zaangażowane w żądanie.
W zakładce „Zalecenia dla tworzenia indeksów” można dodać zalecane indeksy (w tym indeksy złożone) lub usunąć indeksy, które zostały wcześniej dodane przez aplikację. Indeksy w MySQL (Mysql indexes) są doskonałym narzędziem do optymalizacji SQL żądań. Należy pamiętać, że indeksy wiążą się z dodatkowymi operacjami zapisu na dysku. Za każdym razem, gdy aktualizujesz lub dodajesz dane do tabeli, dane w indeksie są również zapisywane i aktualizowane. Twórz tylko niezbędne indeksy, aby uniknąć marnowania zasobów serwera. Analizuj, jak bardzo zmienia się czas wykonania żądania po dodaniu/usunięciu tego lub innego indeksu za pomocą linku „Pobierz nowy czas realizacji żądania”.
Informacje techniczne o aplikacji "Monitor BD"
Parametry techniczne | |
Lokalizacja ustawień | polski, angielski, rosyjski |
Zainstalowany w chmurze W zależności od planu, z którego korzystasz, niektóre aplikacje są już w nim zawarte i w takim przypadku powinny być już zainstalowane i nie musisz kupować dla nich dodatkowej licencji (w przypadku płatnych aplikacji). | Nie |
Obsługa backendu UI W tym okresie przeprowadzamy migrację ze starego interfejsu (UI 1.3) do nowego (UI 2.0) w części administracyjnej witryny. Dlatego w okresie przejściowym, dopóki wszystkie aplikacje, wtyczki i widżety nie przełączą się na nowy interfejs, będzie obsługa obu. Niektóre aplikacje mają już tylko nowy UI 2.0, a stary już wyłączyliśmy. Po krótkim czasie stary interfejs użytkownika zostanie całkowicie wyłączony. | 1.3 |
Typ oprogramowania | Aplikacja |
Darmowe | Nie |
Deweloper i wersja aplikacji | |
Projektant (programista) | Kreatyw IT |
Wersja | 1.1.0.1.wsp |
Aktualizacja | 02.07.2024 |
Więcej o aplikacji "Monitor BD":Aktualizacje
Kategorie:AplikacjeNowe aplikacje
Podobne oferty
POBIERZ ZA DARMO - można zainstalować wybrany produkt za pomocą Instalera w bekendzie Twojego admin panelu.
Dołączona do wszystkich planów - oznacza, że ten produkt jest zainstalowany we wszystkich planach abonamentowych i nie trzeba go instalować.
Zainstalowany w niektórych planach - oznacza, że ten produkt jest już zainstalowany w niektórych planach abonamentowych. Jeśli w Twoim planie nie ma tego produktu, możesz zakupić licencję, uiszczając jednorazową opłatę.