Będę dalej wyjaśniał, jak monitorować liczniki wydajności za pomocą PERFMON | Rozwiązywanie problemów z wydajnością serwera SQL w tej serii artykułów.
Rozwiązywanie problemów z wydajnością serwera SQL
Przeczytaj wcześniejszy artykuł.
Rozwiązywanie problemów z wydajnością serwera SQL – 2 monitoruj bazy danych i instancje za pomocą Monitora aktywności
Monitorowanie liczników wydajności przez PERFMON
Wąskie gardło występujące w Bazie Danych i Serwerze można zidentyfikować, badając wykorzystanie zasobów Serwera. Najważniejsze wąskie gardła wpływające na SQL Server są następujące.
- Wąskie gardło pamięci
- Wąskie gardło we/wy dysku
- Wąskie gardło procesora
Wąskie gardło pamięci w SQL Server
Wystąpienie SQL Server przydziela miejsce w pamięci z systemu operacyjnego (OS) zgodnie z parametrami pamięci Max i Min ustawionymi podczas uruchamiania. Domyślnie użycie pamięci instancji SQL Server stale rośnie, aby uniknąć stronicowania. Jeśli nie ma więcej miejsca w pamięci dla procesu w systemie operacyjnym, system operacyjny ostrzega SQL Server, a SQL Server zwalnia dodatkową pamięć, którą przydzielił.
Na poniższym ekranie można ustawić maksymalne i minimalne parametry pamięci. ( SQL Server Management Studio–> kliknij prawym przyciskiem myszy Instancję SQL i wybierz Właściwości serwera )
Ogólną przyczyną wąskich gardeł w wystąpieniach programu SQL Server jest niewystarczająca ilość pamięci. W przypadku niewystarczającej ilości pamięci nazywa się to błędem twardej strony jeśli baza danych odczytuje dane z dysku fizycznego zamiast z pamięci.
Należy sprawdzić następujące liczniki wydajności, aby sprawdzić, czy w bazie danych i systemie operacyjnym występuje wąskie gardło pamięci.
Pamięć:strony/s w SQL Server
Wskazuje liczbę stron pamięci, które nie istnieją w pamięci ve i muszą zostać odczytane z dysku oraz liczbę stron pamięci, które muszą zostać zapisane na dysku.
Ta wartość powinna być przestrzegana przez pewien czas, podczas gdy baza danych działa normalnie i należy określić wartość średnią. Jeśli ta wartość jest stale wysoka w przypadku problemów, warto zwiększyć rozmiar pamięci fizycznej systemu operacyjnego.
Pamięć:Zatwierdzone bajty w SQL Server
Wskazuje całkowite miejsce w pamięci używanej przez instancję z pliku pagefile.sys w pamięci RAM i na dysku. Ten licznik nie przekroczy całkowitego rozmiaru pamięci RAM, jeśli ilość dostarczonej pamięci jest wystarczająca. Jeśli nie ma już wystarczającej ilości pamięci, używane jest miejsce pagefile.sys, a to oznacza, że powiązana wartość licznika wydajności przekroczy wartość pamięci RAM. W takim scenariuszu dodanie pamięci RAM do serwera może ułatwić system.
Pamięć:dostępne bajty w SQL Server
Wskazuje całkowitą ilość dostępnej pamięci dla instancji. Ta wartość zwykle wydaje się niska. Jeśli wartość tego licznika jest stale poniżej 4 MB, występuje zbyt wiele operacji stronicowania.
Wąskie gardło we/wy dysku w programie SQL Server
W przypadku wąskich gardeł we/wy dysku, które występują na dysku lub pamięci masowej, należy sprawdzić wartości licznika wydajności w obszarze Dysk fizyczny i logiczny w narzędziu Perfmon.
- Jeśli wartość licznika, na przykład Sekundy dysku / odczyt licznika, jest większy niż 15-20 ms, zwykle jest to problem z wydajnością dysku.
- Ciągłe wysokie wartości dla średnich sekund na dysku/zapisu licznik wskazuje, że na dyskach występuje problem z wydajnością.
% czasu na dysku w serwerze SQL
Wyświetla gęstość odczytu/zapisu dysków. Jeśli ta wartość wynosi 80%, zrozumiałe jest, że dyski są intensywnie używane. Wartość 50% lub mniej oznacza brak wąskiego gardła na dysku.
Śr. Długość kolejki dyskowej w SQL Server
Pokazuje te, które czekają na we/wy na dysku. Jeśli ta wartość jest stale wysoka, oznacza to, że rozpoczęło się wąskie gardło dysku lub pamięci masowej.
Śr. Bajty dysku/transfer w SQL Server
Pokazuje średnią ilość bajtów przetworzonych podczas odczytu i zapisu na dysku. Wyższa wartość oznacza, że dysk działa wydajnie.
Wąskie gardło procesora
Łatwiej jest zobaczyć, czy system zwalnia z procesora, w porównaniu do We/Wy pamięci i dysku. Ponieważ, po upewnieniu się, że pamięć i dysk, jeśli nadal jest więcej problemów i jeśli strona procesora wymaga sprawdzenia, procesor systemowy można natychmiast sprawdzić. Jeśli procesor systemowy ma 80%, oznacza to, że wystąpił problem, ale w 50% można stwierdzić, że problem nie jest spowodowany przez procesor.
Procesor:% czasu procesora w SQL Server
Wyświetla aktywny czas pracy procesora.
Jeśli system operacyjny może obsługiwać żądania bez zwiększania Długości kolejki serwera? wartości, wtedy procesy są obsługiwane tak szybko, jak to możliwe.
Procesor:% czasu uprzywilejowanego
Pokazuje czas procesora przydzielony do systemu operacyjnego, na którym działa SQL Server.
Procesor:% czasu użytkownika
Pokazuje czas procesora spędzony na innych działaniach działających w systemie operacyjnym.
W następnym artykule wyjaśnię rozwiązywanie problemów z wydajnością serwera SQL.
Rozwiązywanie problemów z wydajnością programu SQL Server -4 przy użyciu DMV (widok zarządzania dynamicznego) i DMF (funkcja zarządzania dynamicznego)