Analiza wydajności zapytań, część I

W SQL Server istnieje kilka narzędzi pozwalających określić wydajność wykorzystywanych zapytań. Podstawowym i najbardziej chyba znanym jest SQL Server Profiler. Można go włączyć z poziomu Sql Server Management Studio (menu główne->Tools->Sql Server Profiler). Po uruchomieniu pojawi się okienko w którym można określić m.in. zdarzenia, które powinny być monitorowane.

image

Następnie aby rozpocząć analizę należy wybrać Start Selected Trace (ikonka zielonej strzałki w ToolBar). Od tego momentu wszelkie zapytania wykonywane przez serwer bazodanowy będą wyświetlane w raporcie.

image

Podstawowa konfiguracja Profiler’a wyświetla m.in.:

  1. nazwę zdarzenia,
  2. treść zapytania,
  3. źródło zdarzenia (np. zewnętrzna aplikacja lub Management Studio),
  4. zużycie procesora,
  5. liczbę operacji odczytu,
  6. liczbę operacji zapisu,
  7. czas trwania zdarzenia (czyli np. wykonania zapytania),
  8. czas rozpoczęcia i zakończenia.

Jeśli któraś z metryk jest zbyt wysoka należy zastanowić się nad optymalizacja bazy lub zapytań. Na przykład w sytuacji gdy liczba odczytów jest zbyt wysoka można spróbować stworzyć dodatkowe indeksy. Warto regularnie uruchamiać profiler i monitorować ruch – pozwoli to zachować maksymalną wydajność. Szczególnie istotnymi pomiarami są te dokonywane już w realnym środowisku, na prawdziwych użytkownikach, ponieważ odzwierciedlają one najbardziej sposób wykorzystania aplikacji.

Leave a Reply

Your email address will not be published.