Są tu dwie rzeczy, z którymi prawdopodobnie będziesz zaznajomiony.
- Wyjaśnij plany
- Powolne logi
Wyjaśnij plany
Oto kilka podstawowych dokumentów wyjaśniających. Uruchomienie wyjaśnienia jest tak proste jak db.foo.find(query).explain()
. (zwróć uwagę, że to faktycznie uruchamia zapytanie, więc jeśli Twoje zapytanie jest powolne, będzie to zbyt słabe )
Aby zrozumieć wyniki, sprawdź niektóre dokumenty dotyczące wolnych dzienników poniżej. Zasadniczo otrzymujesz szczegółowe informacje na temat „ile indeksu zostało zeskanowanych”, „ile zostało znalezionych” itp. Podobnie jak w przypadku takich szczegółów wydajności, interpretacja zależy od Ciebie. Przeczytaj powyższe i poniżej dokumenty, aby wskazać Ci właściwy kierunek.
Powolne logi
Domyślnie wolne logi są aktywne z progiem 100 ms. Oto link do pełnej dokumentacji dotyczącej profilowania. Kilka kluczowych punktów na początek:
Pobierz/ustaw profilowanie:
db.setProfilingLevel(2); // 0 => none, 1 => slow, 2 => all
db.getProfilingLevel();
Zobacz wolne zapytania:
db.system.profile.find()