TBD - P ERFORMANCE W BAZACH M ICROSOFT SQL S ERVER, CZYLI O CO W TYM W OGÓLE CHODZI Michał Grodzicki MCTS SQL SERVER lipca 2012
Słów kilka o prezentacji Poziom 100 SQL SERVER 2008R2 Baza AdventureWorks Przykłady Kiedy Q&A Czas trwania prezentacji
Plan prezentacji definicja wydajności (performance`u) DB kryteria oceny wydajności czynniki (nie)zależne narzędzia wspierające analizę wydajności jak poprawić wydajność
Definicja wydajności (performanc`u) DB wydajność = zdolność do przetworzenia jak największej liczby żądań użytkowników (w jednostce czasu) kierowanych do bazy danych. Kolokwialnie: wydajność = szybkość
Kryteria oceny wydajności z punktu widzenia bazy danych z punktu widzenia pojedynczego zapytania
Kryteria oceny wydajności - DB czas i % zajęcia procesora zużycie powierzchni dyskowej inne miary (np. oparte o użycie RAMu)
Kryteria oceny wydajności - zapytanie czas wykonania zapytania ilość zapisów do bazy potrzebnych do wykonania zapytania ilość odczytów z bazy potrzebnych do wykonania zapytania użycie czasu procesora
Czynniki mające wpływ na wydajność (niezależne lub tylko częściowo zależne od nas) obciążenie serwera (CPU, IO) ilość danych w różnych DB operacje wykonywane przez innych użytkowników okresowe czynności wykonywane przez agentów na bazie (backup, aktualizacje statystyk, replikacja)
Narzędzia wspierające analizę wydajności SQL Server Management Studio SQL Server Profiler Database Engine Tuning Advisor inne
Jak poprawić wydajność DB? plik logu na oddzielnym dysku dyski w klaster unikanie fragmentacji plików z danymi/pliku logu
Jak poprawić wydajność zapytania? optymalizacja zapytań (iteracyjnie, do bólu ) odpowiednie typy danych indexy użycie obiektów składowanych vs ad-hoc ostrożnie z widokami aktualne statystyki plany zapytań ostrożnie z kursorami złożone operacje arytmetyczne do CLR
Q&A
Ankieta:
Dziękuję za uwagę!