MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Analizowanie powolnych zapytań w MongoDB

Z przyjemnością ogłaszamy publicznie dostępność naszego wolnego analizatora zapytań dla MongoDB! Za pomocą analizatora powolnych zapytań możesz szybko zidentyfikować powolne zapytania na dowolnym serwerze w określonym przedziale czasu. Domyślnie „wolne zapytania” są definiowane jako zapytania, które trwają dłużej niż 100 ms.

Mapa termiczna powolnych zapytań

Mapa cieplna zapewnia szybki wizualny przegląd powolnych zapytań w Twoim systemie. Oś pionowa wykresu to czas wykładniczy. Oznacza to, że im wyżej bąbelek znajduje się na wykresie, tym wolniejsze jest zapytanie (o rzędy wielkości) – więc miej oko na bąbelki, które stale znajdują się na górze wykresu. Możesz także kliknąć dymek, aby zobaczyć szczegóły zapytania.

Zapytania tego samego typu mają ten sam kolor. Dzięki temu możesz łatwo zidentyfikować wzorce w powolnych zapytaniach. Możesz także wybrać fragmenty wykresu, aby powiększyć określony zakres czasu.

Np. W powyższym przykładzie widać skupisko czerwonych kropek, które zajmują ponad 10 sekund. Możesz również zobaczyć, że zadanie działające w tle, które jest uruchamiane raz na godzinę, zajmuje 28 sekund. Możesz kliknąć punkt danych, aby uzyskać aktualne zapytanie.

Tabela danych powolnego zapytania

Tabela danych powolnych zapytań zapewnia tabelaryczny widok wszystkich danych powolnych zapytań. Tabele danych wyświetlają kilka ważnych danych dotyczących powolnych zapytań:

  • Typ - Typ zapytania – zapytanie, wstawienie, aktualizacja, usunięcie itp.
  • Baza danych i kolekcja – Db i kolekcja zapytania
  • Zapytanie – Rzeczywiste zapytanie z usuniętymi parametrami zapytania
  • Liczba – Ile razy zapytanie zostało uruchomione w wybranym okresie
  • nZeskanowany – Liczba przeskanowanych wpisów w indeksie + liczba przeskanowanych obiektów z kolekcji
  • Czas trwania (ms) – Średni czas wykonania zapytania w ms
  • Długość odpowiedzi (w bajtach) – Średnia długość odpowiedzi na zapytanie w bajtach
  • nZwrócony - Średnia liczba dokumentów zwróconych na wykonanie zapytania
  • Blokada odczytu (mikrosekundy) – Średni czas blokady odczytu w mikrosek
  • Blokada zapisu (mikrosekundy) – Średni czas blokady zapisu w mikrosek

Powolną tabelę zapytań możesz posortować według dowolnej z powyższych kolumn, aby utworzyć potrzebny widok. Dane zapytania można również pobrać do programu Excel w celu analizy. Kliknij link „Pobierz dane jako csv”, aby pobrać dane powolnego zapytania i przeprowadzić niestandardową analizę w programie Excel.

Aby łatwo zidentyfikować zapytania problemowe, udostępniamy szereg wbudowanych widoków.

Powolne zapytania posortowane według „Najczęstsze”

Widok ten prezentuje (w porządku malejącym) najczęściej wykonywane zapytania w systemie. Chcesz zwrócić szczególną uwagę na najczęstsze zapytania na liście. Jeśli ich wartość nScanned jest wysoka lub czas trwania jest wysoki, musisz dodać odpowiedni indeks dla tego zapytania. Zmniejsza to liczbę dokumentów skanowanych z dysku.

Powolne zapytania posortowane według „Maksymalna liczba przeskanowanych dokumentów/indeksów”

Ten widok przedstawia (w porządku malejącym) zapytania, które skanują najwięcej wpisów indeksu lub większość dokumentów w kolekcji. Wysoka wartość „nScanned” oznacza, że ​​nie masz indeksu lub nie masz właściwego indeksu. Może nie być możliwe dodanie indeksu dla każdego zapytania w systemie – ale powinieneś upewnić się, że przynajmniej Twoje zapytania o wysokiej częstotliwości są dobrze zindeksowane.

Wolne zapytania posortowane według „najwolniejszego zapytania”

Ten widok przedstawia (w porządku malejącym) zapytania, których wykonanie zajmuje maksymalny czas. Jeśli zapytanie jest wykonywane bardzo rzadko, możesz zdecydować, czy chcesz je zoptymalizować.

Powolne zapytania posortowane według „Maksymalna liczba zwróconych dokumentów”

Ten widok przedstawia (w porządku malejącym) zapytania, które zwracają najwięcej wyników. Zwracanie wielu wyników często powoduje obciążenie sieci w systemie. Powinieneś również upewnić się, że zwracasz tylko te pola, których potrzebujesz z dokumentu, a nie wszystkie pola.

Powolne zapytania posortowane według „Blokady odczytu”

Ten widok przedstawia (w porządku malejącym) zapytania, które zużywają maksymalny czas blokady odczytu w mikrosekundach. Jeśli używasz silnika pamięci masowej WiredTiger, zazwyczaj nie stanowi to problemu, ponieważ WiredTiger stosuje blokowanie na poziomie dokumentu.

Powolne zapytania posortowane według „Blokady zapisu”

Ten widok przedstawia (w porządku malejącym) zapytania, które zużywają maksymalny czas blokady zapisu w mikrosekundach. Jeśli używasz silnika pamięci masowej WiredTiger, zazwyczaj nie stanowi to problemu, ponieważ WiredTiger stosuje blokowanie na poziomie dokumentu.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $round

  2. Instalacja/konfiguracja Mongos w Elastic Beanstalk

  3. Mongoose — przy użyciu funkcji Populate na tablicy ObjectId

  4. Mongodb znajduje się wewnątrz tablicy podrzędnej

  5. Jak wykonać kopię zapasową bazy danych Open edX MongoDB