Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2008.10.20 11:03 | Marcin Szeliga | Aktualizacja: 2011.09.29 15:43

SQL Server 2005 Performance Tuning

thumb
Steven Wort, Christian Bolton, Justin Langford, Michael Cape, Joshua J. Jin, Douglas Hinson, Haidong Ji, Paul A. Mestemaker, Arindam Sen

Konfiguracja i optymalizacja kolejnych wersji serwera SQL sprowadzała się do ustawienia kilku opcji. Dopóki wielkość baz danych nie przekraczała kilkuset gigabajtów a liczba ich użytkowników kilkudziesięciu, zdolności serwera SQL do autoregulacji zapewniały mu odpowiedni poziom wydajności. W rezultacie wielu programistów i administratorów nigdy nie musiało optymalizować pracy serwera SQL. Teraz sytuacja wygląda inaczej - pora nauczyć się diagnozować i rozwiązywać problemy wydajnościowe!

Twój serwer SQL 2005 działa zbyt wolno? Przeczytaj tę książkę

Konfiguracja i optymalizacja kolejnych wersji serwera SQL sprowadzała się do ustawienia kilku opcji: współczynnika wypełnienia stron, limitu dostępnej pamięci itd. Dopóki wielkość baz danych nie przekraczała kilkuset gigabajtów a liczba ich użytkowników kilkudziesięciu, zdolności serwera SQL do autoregulacji zapewniały mu odpowiedni poziom wydajności. W rezultacie wielu programistów i administratorów nigdy nie musiało optymalizować pracy serwera SQL. Teraz sytuacja wygląda inaczej — pora nauczyć się diagnozować i rozwiązywać problemy wydajnościowe!

Część I czyli uczymy się wykrywać „wąskie gardła”

Pierwsze pięć rozdziałów książki opisuje metodykę diagnozowania problemów wydajnościowych:

  1. W pierwszym rozdziale znajdziemy informacje o używanych w dalszej części książki narzędziach, między innymi odnośnik do strony zawierającej kilkadziesiąt przygotowanych przez dział wsparcia klientów firmy Microsoft skryptów monitorujących pracę serwera SQL 2005.
  2. Drugi rozdział poświęcony został monitorowaniu zasobów serwera Windows za pomocą programu Perfmon — oprócz świetnego opisu najważniejszych liczników wydajności (i zależności pomiędzy ich wynikami) w rozdziale tym przedstawiony został sposób uruchomienia 32-bitowych liczników w środowisku 64-bitowych systemów operacyjnych i ułatwiający analizę otrzymanych w ten sposób danych program Performance Analysis of Logs (uwaga, program przeznaczony jest dla angielskich wersji systemu operacyjnego).
  3. Po określeniu wydajności systemu należy sprawdzić których zasobów brakuje serwerowi SQL — w trzecim rozdziale przedstawione zostały liczniki wydajności serwera SQL oraz procedura importu zebranych przez nie danych do tabel w bazie danych.
  4. Serwer SQL 2005 samodzielnie zarządza dostępnymi zasobami, dlatego właściwa interpretacja zebranych za pomocą programu Perfmon danych wymaga szczegółowej wiedzy na temat wewnętrznych mechanizmów jego działania. Na szczęście widoki dynamiczne udostępniają szczegółowe informacje o aktualnym stanie serwera SQL 2005, w tym informacje na temat czasu przez który poszczególne operacje czekały na możliwość wykonania — jak je odczytywać i interpretować dowiemy się z rozdziału czwartego.
  5. W rozdziale piątym znajdziemy opis programu SQL Profiler, między innymi jego użycie do przechwytywania informacji o zablokowanych (zbyt długo oczekujących na dostęp do zasobów) procesach..

Część II czyli rozwiązujemy wykryte problemy

Cztery kolejne rozdziały zawierają opis sposobów eliminowania przyczyn problemów wydajnościowych:

  1. Rozdział szósty poświecony został właściwej konfiguracji systemu operacyjnego, we tym pamięci, macierzy dyskowych i procesorów. Na tym etapie należy sprawdzić konfigurację używanego serwera, a nie rozbudowywać go o dodatkowe podzespoły!
  2. Rozdział siódmy to przypomnienie najważniejszych opcji konfiguracyjnych serwera SQL 2005.
  3. Przesłaniem rozdziału ósmego jest stwierdzenie „Celem nie jest ułatwienie życia programistom bazodanowym, tylko stworzenie wydajnej i skalowanej bazy danych” — ten rozdział powinien przeczytać każdy, kto pisze w języku T-SQL choćby po to, żeby dowiedzieć się dlaczego dyrektywa NOCOUNT ma tak duży wpływ na wydajność procedur składowanych.
  4. Rozdział dziewiąty poświecony został optymalizacji zapytań. Temat bardzo obszerny, nic więc dziwnego że rozdział liczy prawie 80 stron, na których znalazły się m.in.: opis planów wykonań zapytań i używanych w nich operatów oraz zbiór wskazówek pozwalających poprawić wydajność większości typowych zapytań.
  5. W rozdziale dziesiątym znajdziemy opis znanego nam już z pierwszej części książki program Profiler, tym razem użytego do odtwarzania przechwyconych na produkcyjnym serwerze plików śledzenia — świetny sposób na porównanie wydajności oryginalnych i zoptymalizowanych zapytań.
  6. Rozdział jedenasty w całości poświęcony został indeksom. Znajdziemy w nim ich opis, wskazówki dotyczące defragmentacji i informacje na temat pracy z programem Database Tuning Advisor.

Części III i IV czyli co jeszcze warto wiedzieć o optymalizowaniu wydajności

Ostatnie 120 stron książki poświecone zostało tematom których nie udało się zaklasyfikować ani do wykrywania, ani do usuwania problemów wydajnościowych:

  1. Rozdział dwunasty prezentuje dwa darmowe narzędzia do monitorowania wydajności (SQLIO) oraz niezawodności (SQLIOSim) dysków twardych.
  2. Rozdział trzynasty zawiera opis konsoli Performance Dashboard Reports — po jej zainstalowaniu (co wymaga pakietu SP2) w konsoli SSMS znajdziemy kilkadziesiąt dodatkowych raportów wydajności.
  3. Dwa ostatnie rozdziały to zbiory wskazówek dotyczących uwzględniania wydajności sytemu bazodanowego w trakcie całego procesu tworzenia systemu bazodanowego, od jego zaplanowania po wdrożenie.

Autor recenzji: Marcin Szeliga


Komentarze 0 Masz uwagi do tej strony? Napisz

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Marcin Szeliga
avatar Ekspert WSS
 

Microsoft Certified IT Professional Database Developer, Database Administrator, Business Intelligence; Microsoft Certified Systems Engineer: Security Microsoft Windows 2000, Microsoft Windows Server 2003; Microsoft Certified Solution Developer: For Microsoft .NET, Microsoft Visual Studio 6.0; Microsoft Certified Trainer; Microsoft Certified Systems Engineer: Microsoft Windows Server 2003, Microsoft Windows 2000, Microsoft Windows NT 4.0

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS

vGuru - Zostań Guru Wirtualizacji

 

MetroOne

Idź na górę strony