| Termin | Definicja |
|---|---|
| Monitorowanie bazy danych | Monitorowanie bazy danych to nadzór nad jej rozmiarem, wydajnością zapytań, blokadami i stanem kopii zapasowych. Zakres obserwacji bazy danychMonitorowanie bazy danych polega na ciągłym zbieraniu i interpretowaniu informacji o jej stanie, obciążeniu oraz zachowaniu podczas obsługi zapytań. Analizuje się między innymi zajętość miejsca na dysku, rozmiar plików danych i dzienników transakcji, liczbę aktywnych połączeń, czas wykonywania zapytań, wykorzystanie pamięci operacyjnej i procesora oraz liczbę operacji odczytu i zapisu. Sam rozmiar bazy nie świadczy jeszcze o jej poprawnym działaniu. Mała baza może działać wolno z powodu nieefektywnego zapytania, blokady albo braku wolnego miejsca na pliki tymczasowe. Ważnym elementem jest obserwowanie zmian w czasie. Pojedynczy odczyt obciążenia może nie ujawnić problemu, który występuje tylko w określonych godzinach lub po przekroczeniu konkretnej liczby rekordów. Dlatego dane pomiarowe zapisuje się jako serie czasowe i porównuje z wcześniejszymi wartościami. Pozwala to odróżnić normalny wzrost aktywności od sytuacji, w której czas odpowiedzi stopniowo się wydłuża, dziennik transakcji rośnie bez oczekiwanego ograniczenia albo liczba błędnych połączeń nagle się zwiększa. Wydajność zapytań, blokady i oczekiwaniaJednym z głównych celów monitorowania jest wykrywanie zapytań, które zużywają nieproporcjonalnie dużo zasobów. Należy mierzyć czas całkowity, czas pracy procesora, liczbę odczytanych stron danych oraz liczbę wykonanych operacji wejścia i wyjścia. Przydatne jest również rejestrowanie planów wykonania, ponieważ pokazują one sposób wyszukiwania i łączenia danych. Plan może wskazać pełne skanowanie dużej tabeli, kosztowne sortowanie, wielokrotne odczyty albo użycie indeksu, który nie ogranicza wystarczająco liczby analizowanych wierszy. Monitoruje się także blokady i oczekiwania. Transakcja może przez pewien czas czekać, ponieważ inna transakcja zmieniła dane i jeszcze nie zatwierdziła lub nie wycofała operacji. Przy dużej liczbie równoczesnych użytkowników takie oczekiwania mogą tworzyć łańcuch blokad, w którym kolejne sesje nie mogą kontynuować pracy. W analizie trzeba ustalić sesję blokującą, zasób objęty blokadą, czas trwania oczekiwania oraz zapytanie, które pozostawiło transakcję aktywną. Należy rozróżnić krótkie, normalne oczekiwanie od blokady trwającej na tyle długo, że powoduje przekroczenie czasu odpowiedzi aplikacji. Pliki danych, transakcje i kopie zapasoweKontrola przestrzeni dyskowej obejmuje nie tylko wolne miejsce na partycji, lecz także tempo powiększania poszczególnych plików. Istotne są pliki danych, dzienniki transakcji oraz obszary robocze używane podczas sortowania, grupowania i tworzenia wyników pośrednich. Gwałtowny przyrost dziennika może wynikać z długiej transakcji, dużej operacji modyfikacji danych albo braku prawidłowego wykonywania kopii dziennika w rozwiązaniach, które tego wymagają. Automatyczne powiększanie pliku może chwilowo usunąć objaw, ale nie wyjaśnia przyczyny ani nie zastępuje planowania pojemności. Stan kopii zapasowych należy sprawdzać na podstawie rzeczywistych rezultatów zadań, a nie samego faktu istnienia harmonogramu. Monitoring powinien rejestrować czas rozpoczęcia i zakończenia kopii, jej wynik, rozmiar, czas trwania oraz moment, do którego można odtworzyć dane. Odtwarzanie testowe jest odrębną czynnością kontrolną, ponieważ poprawnie zakończone zadanie tworzenia kopii nie gwarantuje jeszcze, że odzyskanie danych przebiegnie prawidłowo. Warto również obserwować, czy kopie nie są wykonywane w sposób powodujący nadmierne obciążenie dysków lub wydłużenie pracy aplikacji. Alarmy, korelacja pomiarów i diagnostykaSkuteczny monitoring nie powinien generować alarmu przy każdym krótkotrwałym wzroście obciążenia. Progi trzeba wiązać z czasem trwania zjawiska, trendem oraz wpływem na działanie aplikacji. Przykładowo, jednoczesny wzrost czasu zapytań, liczby oczekujących sesji i aktywności dysku dostarcza silniejszego sygnału diagnostycznego niż pojedynczy wysoki odczyt procesora. Alarm powinien zawierać moment wystąpienia problemu, nazwę miernika, wartość bieżącą, wartość odniesienia oraz informacje potrzebne do porównania z innymi zdarzeniami. Podczas diagnostyki należy zestawiać metryki bazy z logami aplikacji i systemu operacyjnego. Błąd przekroczenia czasu oczekiwania w aplikacji może być skutkiem blokady, przeciążenia dysku, chwilowej niedostępności połączenia albo zapytania wykonującego pełne skanowanie. Bez korelacji tych źródeł łatwo pomylić skutek z przyczyną. W przypadku komputera używanego do pracy z lokalnymi narzędziami bazodanowymi można dodatkowo sprawdzić stan dysku, ilość dostępnej pamięci, obciążenie procesora, działanie usługi oraz poprawność połączenia. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, gdy problem z działaniem oprogramowania bazodanowego wynika ze stanu komputera lub jego elementów sprzętowych. |