MySQL to system zarządzania relacyjną bazą danych typu open-source, oparty na języku zapytań strukturalnych (SQL). MySQL jest wykorzystywany przez zespoły programistów w wielu różnych zastosowaniach, najczęściej w hurtowniach danych, handlu elektronicznym i aplikacjach rejestrujących. Jednak najbardziej popularny jest w internetowych bazach danych, ponieważ jest bardzo elastyczny, niezawodny i skalowalny. Może być używany do przechowywania wszystkiego, od pojedynczych rekordów informacji po pełne spisy produktów.

DNS-DPM-Banner-Horizontal_728x90

SQL Server, z drugiej strony, jest komercyjnym systemem zarządzania relacyjnymi bazami danych opracowanym po raz pierwszy przez firmę Microsoft. Podobnie jak MySQL, SQL Server obsługuje wiele platform, w tym Linux, Microsoft Windows i systemy serwerowe Windows. Najczęściej SQL Server jest wykorzystywany przez programistów do tworzenia aplikacji .Net oraz projektów windowsowych. Jako produkt komercyjny, SQL Server ma szerszą społeczność wsparcia.

W tym przewodniku omówię kilka metryk, które pomogą Ci w wysiłkach związanych z dostrajaniem wydajności. Omówię również niektóre z najlepszych narzędzi SQL Server i MySQL na rynku, w tym rozwiązanie, które najbardziej polecam – SolarWinds® Database Performance Analyzer – ze względu na jego rozbudowane funkcje monitorowania i analizy, niespotykane w żadnym innym narzędziu na rynku.

mysql performance

Monitoring SQL i MySQL Performance Best Practices
Najlepsze narzędzia MySQL i SQL Server Performance Tuning Tools
Monitorowanie bazy danych jest koniecznością. Get It Right, Do It Constantly, and Profit

Monitoring SQL and MySQL Performance Best Practices

Najważniejszym aspektem monitorowania wydajności SQL jest podjęcie przemyślanej decyzji o tym, jakie metryki i alerty należy monitorować. Chociaż częściowo zależy to od organizacji i branży, ogólnie dobrym pomysłem jest monitorowanie następujących procesów:

  • Wymagane uruchomienie procesu
  • Wspólne punkty awarii
  • Użytkowanie zasobów
  • Wykonania zapytań (niepowodzenia i zakończenia)

Oprócz monitorowania tych procesów, chcesz również monitorować określone metryki związane z wydajnością widoku MySQL. Poniższe są dobrym miejscem, aby zacząć:

  • Czas sprawności: Sekunda, w której serwer odpowiada na żądanie.
  • Połączone wątki: Liczba klientów aktualnie połączonych z serwerem. Jeśli nikt nie jest podłączony lub jest ich zbyt wielu, może to być oznaką problemów.
  • Max used connections: Liczba połączeń wykonanych od momentu uruchomienia serwera.
  • Aborted connects: Liczba nieudanych prób połączenia. Zbyt duża ich liczba może być oznaką podejrzanej aktywności.

Zespoły programistów powinny również monitorować metryki zapytań SQL, aby upewnić się, że baza danych spełnia swoje podstawowe zadania. Niektóre przykłady to:

  • Zapytania: Liczba zapytań wysyłanych przez klientów.
  • Zapytania: Liczba wykonanych stwierdzeń, w tym procedur przechowywanych.
  • Żądania odczytu i zapisu: Co pozwala użytkownikom i programistom na dostęp do tej samej strony w czasie rzeczywistym.

Inne ważne metryki, które należy zbierać w celu przeprowadzenia tuningu wydajności SQL Server lub MySQL, obejmują typowe błędy SQL. Są to częste punkty awarii, które zawsze powinieneś mieć na oku:

  • Błędy: Zawsze sprawdzaj, czy nie ma żadnych błędów w pliku mysql.log.
  • Rozmiar plików logów: Sprawdź strumienie dziennika, aby zobaczyć, czy wszystkie pliki są obracane prawidłowo. Jeśli nie, może to spowodować wąskie gardło twojego serwera.
  • Usunięte pliki dziennika: Upewnij się, że deskryptor pliku jest zamykany po usunięciu jakichkolwiek plików dziennika.
  • Miejsce na kopie zapasowe: Zawsze upewnij się, że masz wystarczająco dużo miejsca na dysku na kopie zapasowe.

Najlepsze narzędzia MySQL i SQL Server Performance Tuning

Próba uchwycenia powyższych metryk jest trudna bez odpowiednich narzędzi. Poniższe programy to jedne z najlepszych narzędzi do monitorowania baz danych SQL w czasie rzeczywistym, niezależnie od tego, czy używasz MySQL, SQL Server, czy innej relacyjnej bazy danych.

  1. SolarWinds Database Performance Analyzer for MySQL

dpa-anomaly-detection

SolarWinds Database Performance Analyzer (DPA) to pełnowymiarowe narzędzie do monitorowania i analizy wydajności baz danych. Jest to doskonałe rozwiązanie zarówno dla administratorów baz danych, zespołów IT, jak i programistów aplikacji. Wspiera monitorowanie w czasie rzeczywistym i analizuje instancje baz danych SQL w celu zmniejszenia wąskich gardeł, ulepszenia usług i obniżenia kosztów. Możesz łatwo porównać wskaźniki wydajności MySQL vs. SQL Server, jeśli używasz obu typów baz danych.

To wieloplatformowe rozwiązanie do monitorowania wydajności baz danych działa zarówno w chmurze, jak i w siedzibie firmy, co czyni go idealnym wyborem dla wielu różnych organizacji. Posiada wiele przydatnych funkcji, takich jak wykrywanie anomalii oparte na uczeniu maszynowym i dogłębna analiza czasu oczekiwania. Te funkcje pozwalają administratorom IT poprawić średni czas rozwiązywania problemów i szybciej rozwiązywać problemy z wydajnością baz danych.

Jedną z jego najlepszych funkcji jest to, że oferuje zespołom IT zarówno dane w czasie rzeczywistym, jak i historyczne dotyczące wydajności MySQL poprzez śledzenie czasu odpowiedzi i statystyk serwera w repozytorium hurtowni danych (które można skonfigurować bezpośrednio do bazy danych MySQL). Te spostrzeżenia umożliwiają DBA rozwiązywanie krytycznych problemów dzięki lepszemu zrozumieniu infrastruktury serwerowej.

Co więcej, SolarWinds DPA jest niezwykle łatwy w użyciu. Możesz ustawić niestandardowe alerty, tworzyć niestandardowe metryki, a nawet zaplanować graficzne raporty wydajności i zlecić ich dostarczenie pocztą elektroniczną do odpowiedniego zespołu IT. Aby sprawdzić, czy DPA jest najlepszym rozwiązaniem dla Twoich potrzeb w zakresie monitorowania MySQL, możesz pobrać w pełni funkcjonalne narzędzie bez ryzyka przez 14 dni.

PROS:

  • Obsługuje szeroką gamę baz danych, zarówno w chmurze, jak i w siedzibie firmy.
  • Jest łatwy w użyciu, a jednocześnie elastyczny, umożliwiając niestandardowe alerty, metryki i inne.
  • Używa wykrywania anomalii opartego na sztucznej inteligencji, poprawiając średni czas rozwiązywania wielu problemów.
  1. Idera Diagnostic Manager

Idera SQL Diagnostic Manager

Idera Diagnostic Manager oferuje zespołom IT monitorowanie wydajności baz danych SQL zarówno w środowiskach fizycznych, jak i wirtualnych. Śledzi statystyki wydajności i kluczowe metryki oraz może być skonfigurowany do wysyłania alertów, aby pomóc DBA lepiej zarządzać maszynami wirtualnymi i bazami danych. Umożliwia również zespołom IT proaktywne monitorowanie zapytań wraz z transakcyjnym monitorowaniem SQL, dostarczając jednocześnie rekomendacje dla Twojego SQL DBMS.

Dzięki Idera, możesz uzyskać wgląd nie tylko w dostępność i zdrowie, ale również w luki bezpieczeństwa i ustawienia konfiguracyjne. Wykorzystaj proste wykresy wizualne, aby uzyskać natychmiastową widoczność – łatwo przeanalizuj metryki, takie jak przestrzeń dyskowa lub uzyskaj przegląd serwerów z bieżącymi ostrzeżeniami i alarmami. Ogólnie rzecz biorąc, jest to użyteczne i elastyczne narzędzie do monitorowania baz danych SQL.

PROS:

  • Idera pozwala na proaktywne monitorowanie zapytań i dostarcza rekomendacje.
  • Dostarcza wgląd w luki bezpieczeństwa, problemy konfiguracyjne, dostępność bazy danych i zdrowie.
  • Proste wykresy pozwalają na szybką wizualizację głównych metryk i ostrzeżeń serwera.
  1. SolarWinds Database Performance Monitor

SolarWinds-DPM

SolarWinds Database Performance Monitor (DPM) jest rozwiązaniem monitorującym typu SaaS, co oznacza, że nie trzeba kupować ani utrzymywać tradycyjnej aplikacji, co radykalnie zmniejsza trudności związane z rozpoczęciem pracy z nią.

Narzędzie może monitorować bazy danych lokalnie, w chmurze i hybrydowo, i skupia się na bazach danych open-source i NoSQL, co obejmuje nie tylko MySQL, ale także PostgreSQL i Redis. DPM oferuje monitorowanie w czasie rzeczywistym 24/7, aby śledzić wiele metryk, a następnie wyświetlać je za pomocą przyjaznego dla użytkownika, ale potężnego pulpitu nawigacyjnego. Niektóre z obsługiwanych metryk to:

  • MTTD
  • MTTR
  • Częstotliwość wdrażania
  • Dostępność
  • Redukcja nieudanych wdrożeń

DPM poważnie podchodzi do kwestii bezpieczeństwa, będąc w pełni zgodnym zarówno z SOC2, jak i GDPR.

PROS:

  • Rozwiązanie oparte na chmurze, co oznacza mniejsze tarcie przy rozpoczynaniu i użytkowaniu.
  • Monitorowanie w czasie rzeczywistym w trybie 24/7 w odniesieniu do ogromnej liczby metryk.
  • Elastyczny, a jednocześnie łatwy w użyciu pulpit nawigacyjny.
  1. SQL Power Tools

SQL Power Tools

Inną dobrą opcją dla DBA jest SQL Power Tools. Określane jako rozwiązanie „zero impact”, to bezagentowe rozwiązanie do monitorowania baz danych zapewnia zespołom IT dostęp do ponad 120 różnych metryk infrastruktury serwerowej, od czasu oczekiwania i blokowania do wykorzystania przestrzeni dyskowej i fragmentacji indeksów. Można przeglądać 30-dniowe trendy lub skonfigurować alerty, aby uzyskać natychmiastową informację. Jest to niezawodne, lekkie rozwiązanie z niewielkim narzutem, ale większe organizacje mogą mieć trudności ze skalowaniem go do swoich potrzeb.

PROS:

  • „Zero impact solution” z niskim tarciem.
  • Duża liczba metryk do monitorowania całej infrastruktury serwerowej.
  • Lekkie i niezawodne narzędzie dostosowane do prostszych scenariuszy.
  1. Narzędzie do monitorowania i zarządzania Percona

percona-pmm-postgres-working-Postgres_exporter

Narzędzie do monitorowania i zarządzania Percona jest darmowym, open-source’owym rozwiązaniem, którego administratorzy mogą używać do monitorowania i zarządzania bazami danych MySQL. Percona może być w pełni zaadoptowana do istniejącego systemu IT, co oznacza, że administratorzy mogą być pewni, że rozwiązanie działa w bezpiecznym i niezawodnym środowisku. Co więcej, Percona może mapować zapytania względem metryk, co pozwala administratorom podejmować lepsze decyzje w celu optymalizacji wydajności MySQL.

Jako opcja open-source, wsparcie może być ograniczone, a zespoły IT stracą niektóre z bardziej zaawansowanych funkcji, których można oczekiwać od rozwiązań klasy korporacyjnej. Ale w sumie jest to niezawodna opcja dla wielu organizacji.

PROS:

  • Mapuje zapytania względem metryk, pozwalając administratorom brać pod uwagę zapytania podczas optymalizacji wydajności MySQL.
  • Niezawodne i lekkie rozwiązanie najlepiej nadające się do prostszych scenariuszy.
  1. AppDynamics

appdynamics-mysql

To narzędzie MySQL klasy korporacyjnej posiada mnóstwo wszechstronnych funkcji, które sprawiają, że jest doskonałym rozwiązaniem dla wielu dużych firm. Po pierwsze, oferuje zespołom IT wgląd w czasie rzeczywistym w wydajność i stan bazy danych MySQL, dzięki czemu mogą oni skutecznie identyfikować i rozwiązywać problemy. Co więcej, AppDynamics umożliwia zespołom IT ustalenie metryk bazowych dla tego, co uważają za zdrowe standardy wydajności dla swoich środowisk MySQL. Narzędzie będzie następnie zbierać i wyświetlać nowo wygenerowane metryki względem wspomnianych linii bazowych, dzięki czemu administratorzy mogą monitorować swoje systemy z lepszym zrozumieniem tego, co jest zdrowym zachowaniem.

Jedynym problemem z AppDynamics jest to, że rozwiązanie jest dostępne w wersji lite i pro. Podczas gdy plan lite jest darmowy, oferuje on ograniczone funkcje, a jego retencja danych jest prawie nieistniejąca. Plan pro jest lepszy, ale kosztowny.

PROS:

  • Oferuje wgląd w czasie rzeczywistym w wydajność MySQL i metryki zdrowia.
  • Pozwala użytkownikom na zdefiniowanie linii bazowych dla zdrowej wydajności, a następnie opiera nowe metryki na tych liniach bazowych.

Monitorowanie bazy danych jest koniecznością. Get It Right, Do It Constantly, and Profit

Bazy danych są centralnym elementem praktycznie każdego przedsięwzięcia technologicznego. Jednak niektóre firmy, pomimo poświęcenia wielu zasobów na swoje bazy danych, nie wydają się dbać o ich monitorowanie. Jest to zaskakujące, ponieważ jest to podobne do braku chęci poznania zwrotu z inwestycji i to szczególnie kosztownej inwestycji.

Jeśli chodzi o relacyjne bazy danych, Microsoft SQL Server i MySQL to dwa najpopularniejsze wybory. Podczas gdy pierwsza z nich jest ofertą dla przedsiębiorstw, opracowaną przez gigantyczną korporację, druga jest narzędziem darmowym i open-source, mimo że jest również dostępna na licencjach komercyjnych. Jako że są to dwie powszechnie znane relacyjne bazy danych, istnieje wiele rozwiązań do monitorowania baz danych MySQL i SQL Server.

mysql performance

Pomimo że wszystkie narzędzia, które opisaliśmy mają swoje zalety, moim najlepszym wyborem jest SolarWinds Database Performance Analyzer. Jak już wcześniej wspomniałem, DPA posiada niezrównane funkcje monitorowania i analizy.

Na wyróżnienie zasługuje inne narzędzie SolarWinds, Database Performance Monitor. DPM jest rozwiązaniem opartym na chmurze, nie wymaga pobierania, konserwacji ani dostarczania. Aktualizacje są wykonywane automatycznie. A ponieważ DPM jest rozwiązaniem SaaS ukierunkowanym na bazy danych open-source, jest to solidny wybór do monitorowania MySQL.

Do tej pory powinieneś być gotowy do podjęcia świadomej decyzji o wyborze odpowiedniego narzędzia do monitorowania MySQL lub SQL Server.

.