Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Monitorowanie klastra Percona XtraDB — kluczowe wskaźniki

Klaster Percona XtraDB to bardzo dobrze znane rozwiązanie wysokiej dostępności w świecie MySQL. Opiera się na klastrze Galera i zapewnia wirtualnie synchroniczną replikację w wielu węzłach. Jak w przypadku każdej bazy danych, kluczowe jest śledzenie tego, co dzieje się w systemie, czy wydajność jest na oczekiwanym poziomie, a jeśli nie, jakie jest wąskie gardło. Ma to ogromne znaczenie, aby móc właściwie zareagować w sytuacji, gdy ma to wpływ na wydajność. Oczywiście klaster Percona XtraDB zawiera wiele metryk i nie zawsze jest jasne, które z nich są najważniejsze do śledzenia stanu bazy danych. W tym blogu omówimy kilka kluczowych wskaźników, na które chcesz mieć oko podczas pracy z PXC.

Aby było jasne, skupimy się na metrykach unikalnych dla PXC i Galera, nie będziemy omawiać metryk dla MySQL ani InnoDB. Te dane zostały omówione w naszych poprzednich blogach.

Rzućmy okiem na niektóre z najważniejszych informacji, które przedstawia nam PXC.

Kontrola przepływu

Kontrola przepływu jest w zasadzie najważniejszym wskaźnikiem, jaki można monitorować w dowolnym klastrze Galera, dlatego przyjrzyjmy się trochę tła. Galera to multi-master, praktycznie synchroniczny klaster. Możliwe jest wykonywanie zapisów na dowolnym z węzłów bazy danych, które ją tworzą. Każdy zapis musi być wysłany do wszystkich węzłów w klastrze, aby mógł być zastosowany – proces ten nazywa się certyfikacją. Żadna transakcja nie może zostać zastosowana, zanim wszystkie węzły zgodzą się, że może zostać zatwierdzona. Jeśli któryś z węzłów ma problemy z wydajnością, które uniemożliwiają mu radzenie sobie z ruchem, zacznie wysyłać komunikaty kontroli przepływu, które mają na celu poinformowanie reszty klastra o problemach z wydajnością i poproszenie ich o zmniejszenie obciążenia i pomoc opóźnionym węzeł, aby dogonić resztę klastra.

Możesz śledzić, kiedy węzły musiały wprowadzić sztuczną pauzę, aby ich opóźnione elementy równorzędne mogły nadrobić zaległości za pomocą wskaźnika wstrzymania kontroli przepływu (wsrep_flow_control_paused):

Możesz również śledzić, czy węzeł wysyła lub odbiera komunikaty kontroli przepływu (wsrep_flow_control_recv i wsrep_flow_control_sent).

Te informacje pomogą Ci lepiej zrozumieć, który węzeł nie działa na tym samym na poziomie swoich rówieśników. Następnie możesz skupić się na tym węźle i spróbować zrozumieć, na czym polega problem i jak usunąć wąskie gardło.

Kolejki wysyłania i odbierania

Te metryki są w pewnym sensie powiązane z kontrolą przepływu. Jak już wspomnieliśmy, węzeł może pozostawać w tyle za innymi węzłami w klastrze. Może to być spowodowane nierównomiernym podziałem obciążenia lub innymi przyczynami (jakiś proces działający w tle, kopia zapasowa lub niektóre niestandardowe, ciężkie zapytania). Przed uruchomieniem kontroli przepływu węzły opóźnione będą próbowały przechowywać przychodzące zestawy zapisu w kolejce odbiorczej (wsrep_local_recv_queue), mając nadzieję, że wpływ na wydajność jest przejściowy i będzie w stanie szybko nadrobić zaległości. Dopiero gdy kolejka stanie się zbyt duża (zarządza nią ustawienie gcs.fc_limit), komunikaty kontroli przepływu zaczną być wysyłane przez klaster.

Możesz myśleć o kolejce odbioru jako wczesnym znaczniku, który pokazuje, że istnieje występują problemy z wydajnością i kontrola przepływu może się uruchomić.

Z drugiej strony kolejka wysyłania (wsrep_local_send_queue) poinformuje Cię, że węzeł nie jest w stanie wysłać zestawów zapisu do innych członków klastra, co może wskazywać na problemy z łącznością sieciową (przekazywanie zestawów zapisu do sieć tak naprawdę nie wymaga dużych zasobów).

Wskaźniki równoległości

Klaster Percona XtraDB można skonfigurować tak, aby używał wielu wątków do stosowania przychodzących zestawów zapisu — pozwala to na lepszą obsługę wielu wątków łączących się z klastrem i jednocześnie dokonujących zapisów. Istnieją dwa główne wskaźniki, na które warto zwrócić uwagę.

Po pierwsze, wsrep_cert_deps_distance, mówi nam jaki jest potencjał paralelizacji - ile potencjalnie zestawów zapisu można zastosować w tym samym czasie. Na podstawie tej wartości można skonfigurować liczbę równoległych wątków podrzędnych (wsrep_slave_threads), które będą działać przy stosowaniu przychodzących zestawów zapisu. Ogólna zasada jest taka, że ​​nie ma sensu konfigurować większej liczby wątków niż wartość wsrep_cert_deps_distance.

Druga metryka z kolei mówi nam, jak skutecznie byliśmy w stanie zrównoleglić proces stosowania zapisów — wsrep_apply_oooe mówi nam, jak często aplikant zaczął stosować zapisy niewłaściwie (co wskazuje na lepszą równoległość ).

Wnioski

Jak widać, w klastrze Percona XtraDB warto przyjrzeć się kilku metrykom. Oczywiście, jak napisaliśmy na początku tego bloga, są to metryki ściśle związane z PXC i ogólnie klastrem Galera.

Powinieneś także zwracać uwagę na regularne metryki MySQL i InnoDB, aby lepiej zrozumieć stan swojej bazy danych. I pamiętaj, możesz monitorować tę technologię za darmo, korzystając z ClusterControl Community Edition.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przeglądarka Neo4j

  2. Jak zainstalować sterownik pdo w obrazie dokera php?

  3. Jak zresetować hasło roota w MySQL 8.0?

  4. Ostrzeżenie:mysqli_query():Nie można pobrać mysqli

  5. AKTUALIZUJ wiele tabel w MySQL za pomocą LEFT JOIN