| Termin | Definicja |
|---|---|
| Statystyki zapytań | Statystyki zapytań to zbiorcze dane o częstotliwości wykonania i czasie trwania poszczególnych poleceń. Co obejmują statystyki zapytańStatystyki zapytań to uporządkowany zestaw pomiarów opisujących wykonywanie poleceń kierowanych do bazy danych lub innego systemu obsługującego zapytania. Najczęściej rejestrowane są: liczba uruchomień danego zapytania, łączny czas wykonania, średni czas jednego wywołania, czas oczekiwania na zasoby oraz ilość odczytanych lub przetworzonych danych. W zależności od używanego silnika mogą być również dostępne informacje o wykorzystaniu procesora, operacjach wejścia-wyjścia, blokadach, błędach i planie wykonania. Same statystyki nie są treścią zapytań, lecz opisem ich zachowania w określonym przedziale czasu. Ważne jest rozróżnienie między pojedynczym wykonaniem a agregatem. Jedno wolne zapytanie może wynikać z chwilowego obciążenia, blokady albo nietypowych parametrów. Statystyka zbiorcza pokazuje natomiast wzorzec powtarzający się w wielu wywołaniach. Przykładowo zapytanie wykonywane 100 000 razy po 20 milisekund może zużyć więcej czasu procesora niż zapytanie uruchamiane raz, które trwa 30 sekund. Dlatego przy ocenie obciążenia analizuje się jednocześnie częstotliwość, koszt pojedynczej operacji i koszt całkowity. Jak interpretować czas, częstotliwość i opóźnieniaŚredni czas wykonania jest użyteczny, ale nie opisuje całego rozkładu wyników. Jeżeli większość wywołań trwa krótko, a niewielka liczba przypadków trwa bardzo długo, średnia może ukrywać problem. W takiej sytuacji przydatne są wartości minimalne, maksymalne oraz percentyle, na przykład 95. i 99. percentyl. 95. percentyl oznacza czas, poniżej którego mieści się 95 procent obserwacji. Pozostałe 5 procent może mieć znacznie większe opóźnienie i wpływać na odczuwalną szybkość aplikacji. Łączny czas wykonania pozwala ustalić, które zapytania najbardziej obciążają system w badanym okresie. Należy jednak sprawdzić, czy pomiar dotyczy samego silnika, czy całego żądania aplikacji. Czas po stronie użytkownika może obejmować oczekiwanie na połączenie, przesłanie danych przez sieć, deserializację wyniku i operacje wykonywane poza bazą. Z kolei czas zarejestrowany przez bazę może nie obejmować opóźnień występujących przed wysłaniem polecenia lub po odebraniu odpowiedzi. Porównywanie wartości ma sens tylko wtedy, gdy wiadomo, gdzie rozpoczyna się i kończy pomiar. Statystyki a plan wykonania i zasoby komputeraAnaliza statystyk zapytań często prowadzi do sprawdzenia planu wykonania. Plan pokazuje, jakie operacje system wykonuje, aby uzyskać wynik, na przykład skanowanie tabeli, wyszukiwanie z użyciem indeksu, sortowanie, grupowanie albo łączenie danych. Statystyka czasu nie wyjaśnia sama z siebie przyczyny opóźnienia, dlatego trzeba zestawić ją z liczbą przetwarzanych wierszy, odczytami z pamięci masowej, użyciem procesora i oczekiwaniem na blokady. Zapytanie może być wolne nie dlatego, że jego składnia jest niepoprawna, lecz dlatego, że przetwarza znacznie więcej danych niż przewidywano. Przydatne jest porównanie wartości szacowanych z rzeczywistymi. Duża różnica między przewidywaną a faktyczną liczbą wierszy może wskazywać na nieaktualne statystyki danych, nierównomierny rozkład wartości albo parametry, dla których wybrany plan nie jest korzystny. Nie należy jednak zmieniać indeksów lub przepisywać zapytania wyłącznie na podstawie jednego pomiaru. Wynik może zależeć od rozmiaru tabel, zawartości pamięci podręcznej, równoległości, aktualnego obciążenia i konkretnego zestawu parametrów. Rzetelna ocena wymaga powtarzalnego testu oraz porównania przed i po zmianie. Wykorzystanie danych podczas serwisowania komputeraW środowisku laptopa lub komputera PC statystyki zapytań mogą pomóc ustalić, czy spowolnienie aplikacji wynika z samego programu, lokalnej bazy danych, dysku, pamięci operacyjnej czy komunikacji z usługą działającą w sieci. Serwisant może porównać czas zapytania z użyciem procesora, aktywnością dysku i zajętością pamięci obserwowaną podczas tego samego działania. Jeżeli zapytania są szybkie, ale aplikacja reaguje z opóźnieniem, przyczyny należy szukać także w kodzie programu, połączeniu sieciowym, sterownikach lub procesach działających równolegle. Przed interpretacją wyników trzeba ustalić okres zbierania danych, sposób grupowania podobnych zapytań oraz jednostki czasu. Warto również zachować informację o wersji aplikacji, konfiguracji komputera i warunkach testu, ponieważ aktualizacja programu lub zmiana sprzętu może zmienić charakter obciążenia. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego przy diagnozie problemów z wydajnością może wykorzystać statystyki zapytań jako jeden z elementów oceny, obok testów dysku, pamięci, temperatur i stabilności systemu. |