Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Rozwiązywanie problemów z wąskimi gardłami we/wy dysku

Czy Twój serwer cierpi z powodu nadmiernej liczby alertów we/wy? Jeśli tak, czy powinieneś się martwić o pogorszenie wydajności serwera? Jak najlepiej zdiagnozować podstawowy problem i wyeliminować wąskie gardła we/wy?

Alarm czasu przeciągnięcia we/wy w chmurze Spotlight jest dobrym wskaźnikiem wąskich gardeł we/wy. Jest wywoływany, gdy średni czas oczekiwania na operację pliku bazy danych przekracza próg alarmowy. Alarm wykorzystuje dane z DMV sys.dm_io_virtual_file_stats do swoich obliczeń. Wykorzystuje średnią wartość uzyskaną po pięciu zebraniach w ciągu ostatnich 15 minut, więc nie zostaniesz powiadomiony o sporadycznym wzroście. Opis alarmu zawiera nazwę wirtualnego pliku bazy danych, nazwę bazy danych oraz średni czas oczekiwania na operację wejścia/wyjścia.

Cztery proste sugestie dotyczące diagnozowania problemów związanych z we/wy w Spotlight Cloud:

1. Sprawdź, co wpływa na zużycie I/O.

Zużycie we/wy jest oznaką opóźnienia podsystemów dyskowych, które może być spowodowane obciążeniem pamięci lub procesora, źle napisanymi zapytaniami lub nieodpowiednią mieszanką indeksów. W czasie alarmu:

Po pierwsze, skorzystaj z prawego panelu Właściwości na stronie Alarmy, aby wyświetlić dane związane z inteligentnymi alarmami:
1. Szczegóły alarmu, w tym nazwa pliku, średni czas oczekiwania we/wy na pliku i czas trwania alarmu

2. Przeanalizuj zebrane dane wykreślone na wykresie trendów z ostatnich kilku godzin



Następnie zdiagnozuj problem, naciskając przycisk Diagnozuj. Doprowadzi to do pulpitu nawigacyjnego I/O by File skupionego na pliku ze stresem. Możesz użyć tego i innych pulpitów nawigacyjnych, aby przeprowadzić dalszą diagnostykę:

1. I/O by File – Zidentyfikuj pliki, na które ma bezpośredni wpływ I/O
2. Analizator obciążenia — najpopularniejsze instrukcje SQL i partia TSQL zużywająca najwięcej operacji we/wy
3. Sesje – Sesje w czasie z aktywnością dysku
4. Kontrola stanu — sprawdź, czy brakuje indeksów


2. Sprawdź pliki oczekujące na operacje we/wy.

Pulpit nawigacyjny I/O by File identyfikuje pliki oczekujące na operacje we/wy. Sprawdź następujące statystyki we/wy:
1. Zanotuj kolumny związane z We/Wy:Szybkość we/wy, Szybkość odczytu/zapisu i Szybkość oczekiwania

2. Posortuj pliki według ich średniego oczekiwania na /IO, naciskając niebieską listę rozwijaną bezpośrednio nad kolumną Plik logiczny.

3. Wyświetl aktywność odczytu i zapisu z ostatniej godziny wygenerowaną w pliku pokazanym na panelach po prawej stronie.

4. Opcjonalnie rozszerz ramy czasowe, aby sprawdzić, czy jest to normalne zachowanie pliku.

5. Jeśli z czasem zauważysz, że wiele plików dotyczy tego samego problemu i współdzielisz lokalizację lub dysk, rozważ dostosowanie ich lokalizacji i porównaj rywalizację we/wy między dyskami lub lokalizacjami, aby złagodzić problemy z opóźnieniami dysku.


6. Jeśli pliki bazy danych Tempdb są ważnym czynnikiem, użyj pulpitu nawigacyjnego TempDB Usage, aby wyświetlić aktywność w bazie danych:

a. Pliki bazy danych Tempdb i ich statystyki
b. Sesje wykorzystujące tempdb
c. Najlepsze tabele i indeksy utworzone w tempdb



3. Znajdź instrukcje SQL, które mogą wykonywać duże ilości logicznych operacji we/wy.

Pulpit nawigacyjny Workload Analyzer pokazuje najczęściej używane operacje we/wy SQL:

1. Kliknij zasób we/wy na górnym banerze i rozwiń węzeł instrukcji SQL z drzewa wymiarów, aby wyświetlić 25 najczęstszych operacji we/wy SQL w danym okresie.

2. Skoncentruj się na jednej instrukcji i rozwiń panel Właściwości instrukcji SQL po prawej stronie, aby wyświetlić szczegóły planu SQL i zapytań.

3. Załaduj instrukcję SQL w SSMS za pomocą opcji „Otwórz w SSMS” i użyj wtyczki Tuning Pack, aby przeanalizować plan lub przepisać bardziej optymalną instrukcję.


4. Skoncentruj się na węźle „SQL Statement” drzewa wymiarów, aby wyświetlić listę instrukcji SQL. Sortuj sesje według IO Wait lub Logical Reads. Użyj panelu Compare to Parent po prawej stronie, aby porównać oczekiwanie IO pojedynczego SQL z resztą SQL w instancji zajmującej IO. Logiczne we/wy może skutkować niepotrzebnymi fizycznymi we/wy.


4. Sprawdź, które sesje SQL Server generują dużą aktywność na dysku.

Panel sesji pokazuje sesje otwarte w instancji. Aby zobaczyć sesje, które generują dużą aktywność na dysku, sprawdź statystyki dotyczące operacji we/wy i posortuj je według nich.
1. Statystyki związane z we/wy wskazują właściwy kierunek:łączne we/wy, odczyty logiczne, odczyty fizyczne i żądania we/wy

2. Panel po prawej stronie zakładki Sesja pokazuje dodatkowe statystyki wraz z bazowym kodem SQL



Użyj panelu Tempdb, aby wyświetlić sesje wykorzystujące bazę danych Tempdb:
1. Użyj pulpitu nawigacyjnego Tempdb, aby zidentyfikować sesje i obiekty korzystające z bazy danych

2. Użyj pulpitu nawigacyjnego Tempdb Usage, aby zobaczyć wszystkie sesje w danym okresie


Przejmij kontrolę nad opóźnieniami we/wy, wykorzystując możliwości diagnostyczne Spotlight Cloud!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Serwer SQL ignoruje wielkość liter w wyrażeniu gdzie

  2. SQL zastępuje wszystkie NULL

  3. SQL Server Azure / 2022 Tabele księgi bazy danych z systemu Linux.

  4. Wysoka dostępność programu SQL Server:Zainstaluj wystąpienie klastra trybu failover programu SQL Server, część 2

  5. Idealna burza do uaktualnienia do nowoczesnej wersji SQL Server