Od Zera Do Developera, jak wejść w branżę IT, przebranżowić się i zostać programistą baz danych i SQL. Andrzej Śmigielski SQL Bazy Danych Branża IT Programowanie

 

 

Audyt SQL Server i optymalizacja wydajności baz danych

IDENTYFIKUJĘ PROBLEMY WYDAJNOŚCIOWE, BŁĘDY PROJEKTOWE ORAZ WĄSKIE GARDŁA INFRASTRUKTURY I PRZYGOTOWUJĘ KONKRETNE REKOMENDACJE POPRAWY DZIAŁANIA ŚRODOWISKA.

LISTA KORZYŚCI:
 
✔ szybsze działanie aplikacji
✔ krótszy czas wykonywania zapytań
✔ mniejsze obciążenie serwera
✔ identyfikacja ryzyk technicznych
✔ konkretne rekomendacje wdrożeniowe.
Audyty Ms Microsoft SQL Server Optymalizacja Wydajności Baz Danych Andrzej Śmigielski

Z jakimi problemami zgłaszają się firmy?

🚩 Raporty generują się zbyt długo
 
🚩 Zapytania blokują pracę użytkowników
 
🚩 Występują częste timeouty
 
🚩 Serwer wykorzystuje nadmiernie CPU lub RAM
 
🚩 Nie wiadomo dlaczego system działa wolno
 
🚩 Brakuje wiedzy jak poprawić wydajność
 
🚩 Migracja na nowszą wersję SQL Server budzi obawy
 
🚩 Środowisko rozwijało się przez lata bez audytu.

Co obejmuje audyt SQL Server?

ANALIZA KONFIGURACJI INSTANCJI

Audyty Ms Microsoft SQL Server Analiza Konfiguracji Instancji Serwera Pamięć CPU TEMPDB Andrzej Śmigielski

PAMIĘĆ • CPU • TEMPDB • KONFIGURACJA SERWERA

ANALIZA
WYDAJNOŚCI

Audyty Ms Microsoft SQL Server Analiza ydajności Wait Statistics Execution Plan Indeksy Blokady Andrzej Śmigielski

WAIT STATISTICS • EXECUTION PLANS • INDEKSY • BLOKADY

ANALIZA
ZAPYTAŃ

Audyty Ms Microsoft SQL Server Analiza Zapytań Najwolniejsze Zapytania Największe Obciążenia Andrzej Śmigielski

NAJWOLNIEJSZE ZAPYTANIA • NAJWIĘKSZE OBCIĄŻENIA

ANALIZA
ARCHITEKTURY

Audyty Ms Microsoft SQL Server XXXXX Andrzej Śmigielski

PROJEKT BAZY • NORMALIZACJA • REDUNDANCJA

ANALIZA
BEZPIECZEŃSTWA

Audyty Ms Microsoft SQL Server Analiza Bezpieczeństwa Role Uprawnienia Ryzyka Andrzej Śmigielski

ROLE UŻYTKOWNIKÓW • UPRAWNIENIA • POTENCJALNE RYZYKA

ANALIZA
PROCESÓW ETL

Audyty Ms Microsoft SQL Server Analiza Procesów ETL ELT Źródła Danych Transformacje Data Warehouse Raporty Andrzej Śmigielski

ŹRÓDŁA DANYCH • TRANSFORMACJE • DATA WAREHOUSE • RAPORTY

Jakie rezultaty otrzymujesz?

RAPORT
AUDYTOWY

Audyty Ms Microsoft SQL Server Raport Audytowy lista problemów priorytety poziom ryzyka rekomendacje Andrzej Śmigielski

✔ lista problemów wg priorytetu
✔ poziom ryzyka
✔ rekomendacje

 
Dowiesz się, co wymaga poprawy.

PLAN
DZIAŁAŃ

Audyty Ms Microsoft SQL Server Plan Działań szybkie usprawnienia średni termin długofalowe działania Andrzej Śmigielski

✔ szybkie usprawnienia
✔ średni termin
✔ długofalowe działania

 
Otrzymasz konkretną kolejność działań.

KONSULTACJA
WYNIKÓW

Audyty Ms Microsoft SQL Server Konsultacja Wyników omówienie raportu sesja pytań i odpowiedzi Andrzej Śmigielski

✔ omówienie raportu
✔ sesja pytań i odpowiedzi

 
Zrozumiesz, od czego i jak zacząć.

Jak wygląda proces?

Krok 1 Rozmowa
 
Krok 2 Uzyskanie dostępu
 
Krok 3 Analiza środowiska
 
Krok 4 Przygotowanie raportu
 
Krok 5 Omówienie wyników

Case studies 1 - Blokowanie pracy użytkowników:

➡️ EFEKT:
Odblokowanie pracy użytkwników systemu

✔ zapytania systemowe nie kolidują z bieżącą pracą użytkoników

✔ system działa bez żadnych opuźnień i blokad
✔ dzięki temu zwiększona została produktywność użytkowników systemu.
 
➡️ PROBLEM:
Systemowe operacje na danych blokują pracę użytkowników

❌ kilkudziesięcio minutowe blokowanie bieżącej pracy użytkowników
❌ opóźnienia w realizacji zadań użytkowników systemu
❌ relatywnie długie oczykiwania na odpowiedzi z systemu - "wieszanie się aplikacji".
 
➡️ ROZWIĄZANIE:
Odpowiednie ustawienie blokad i transakcji

✔ zmiana poziomów izolacji transakcji, czyli redukcja blokad dotyczących ilości danych
✔ zmiana transakcyjności polegająca na zastosowaniua asynchroniczności
✔ znaczne złagodzenie ewentualnych konsekwencji związanych z błędami w danych.

Case studies 2 - Raportowanie z danych produkcyjnych:

➡️ EFEKT:
Aplikacja zaczęła płynnie działać

✔ raporty nie kolidują z bieżącą pracą użytkoników
✔ system działa płynnie bez żadnych opuźnień i blokad
✔ zwiększenie produktywności użytkowników systemu.
 
➡️ PROBLEM:
Generowanie raportów nieakceptowalnie zwalniało pracę systemu

❌ kilkunasto minutowe blokowanie bieżącej pracy użytkowników
❌ opóźnienia w realizacji zadań użytkowników systemu
❌ relatywnie długie oczykiwania na odpowiedzi z systemu - "wieszanie się aplikacji".
 
➡️ ROZWIĄZANIE:
Odpowiednie ustawienie wykorzystywania procesorów

✔ zmniejszenie obciążenia procesorów CPU przez raporty
✔ kompromis: raport wykonywał się nieco dłużej - ale zredukowano opóźnienia użytkowników.

Case studies 3 - Nocne procesy danych finansowych:

➡️ EFEKT:
Oszczędność pracy i czasu

✔ zapytania trwające ponad 40 i 50 minut zredukowane do 3-4 minut
✔ system jest gotowy kilka godzin przed startem
✔ umożliwienie analizy potencjalnych błędów z kilku godzin do kilku minut.
 
➡️ PROBLEM:
Nocne procesy przeliczania danych i odsetek

❌ kilkugodzinne przeliczanie danych finansowych
❌ nieakceptowalny czas trwania operacji wykraczających poza okno czasowe
❌ opóźnienie czasu rozpoczęcia pracy użytkowników systemu.
 
➡️ ROZWIĄZANIE:
Optymalizacja procesów

✔ analiza wąskich gardeł w procesach
✔ przeimplementowanie funkcji i procedur
✔ skrócenie wykonywania zapytań.

Dlaczego warto mi zaufać?

2008
Od tego roku jestem w branży IT aż do dzisiaj
174
Zrealizowanych projektów komercyjnych
2000
Godzin przeprowadzonych szkoleń
11
Programistów w zarządzanym zespole IT
Od Zera Do Developera, jak wejść w branżę IT, przebranżowić się i zostać programistą baz danych i SQL. Andrzej Śmigielski SQL Bazy Danych Branża IT Programowanie

✔ Jestem deweloperem w branży IT od 2008 roku w zakresie systemów bazodanowych.
 
✔ W swojej karierze zrealizowałem już setki profesjonalnych projektów dla wielu firm w Polsce.
 
✔ Doszedłem od zera do stanowiska menedżerskiego zarządzając zespołem 11 programistów.
 
Od 2018 roku jestem także trenerem i prowadzę szkolenia zarówno online jak i stacjonarne dla osób indywidualnych jak również dla firm i korporacji.

Kiedy audyt ma największy sens?

AUDYT REKOMENDUJĘ, GDY:
 
✔ użytkownicy zgłaszają spadki wydajności
✔ planowana jest migracja
✔ system rozwijany jest od wielu lat
✔ rośnie liczba danych
✔ pojawiają się timeouty
✔ zespół nie zna przyczyn problemów.

F A Q

1. Jak długo trwa audyt?
 
Czas realizacji zależy od wielkości środowiska, liczby baz danych oraz zakresu analizy.
Najczęściej audyt trwa od 3 do 10 dni roboczych.
Po wstępnej rozmowie określam zakres prac oraz przewidywany termin realizacji.
 
2. Czy wymagany jest dostęp do środowiska produkcyjnego?
 
Nie zawsze.
W wielu przypadkach wystarczające są:
• dane diagnostyczne,
• raporty wydajnościowe,
• plany wykonania zapytań,
• logi systemowe.
Jeżeli konieczna jest głębsza analiza, możliwy jest czasowy dostęp do środowiska produkcyjnego lub środowiska testowego.
Zakres dostępu jest każdorazowo ustalany indywidualnie.
 
3. Czy można wykonać audyt zdalnie?
 
Tak.
Większość audytów realizowana jest całkowicie zdalnie.
Wykorzystuję bezpieczne kanały komunikacji oraz uzgodnione metody przekazywania danych diagnostycznych.
Nie ma konieczności wizyty w siedzibie firmy.
 
4. Czy audyt obejmuje bezpieczeństwo SQL Server?
 
Tak.
W ramach audytu mogę przeanalizować między innymi:
• role i uprawnienia użytkowników,
• konfigurację bezpieczeństwa instancji,
• potencjalne ryzyka dostępu do danych,
• stosowane mechanizmy zabezpieczeń.
Zakres analizy bezpieczeństwa ustalany jest indywidualnie i może stanowić część audytu lub osobną usługę.
 
5. Czy otrzymam raport po zakończeniu audytu?
 
Tak.
Po zakończeniu prac przygotowuję raport zawierający:
• zidentyfikowane problemy,
• ocenę ich wpływu na środowisko,
• priorytety działań,
• rekomendacje optymalizacyjne,
• proponowaną kolejność wdrożenia zmian.
Raport jest następnie omawiany podczas konsultacji podsumowującej.
 
6. Czy mogę zlecić wdrożenie rekomendacji?
 
Tak.
Po zakończeniu audytu możliwe jest:
• samodzielne wdrożenie rekomendacji przez zespół Klienta,
• wsparcie konsultacyjne podczas wdrożenia,
• realizacja wybranych prac przeze mnie.
Zakres dalszej współpracy ustalany jest indywidualnie po omówieniu wyników audytu.
 
7. Czy audyt może zostać przeprowadzony bez przerywania pracy użytkowników?
 
Tak.
W większości przypadków analiza wykonywana jest bez wpływu na codzienną pracę użytkowników systemu.
 
8. Czy audyt ma sens, jeśli nie wiemy, gdzie znajduje się problem?
 
Tak.
Właśnie w takich sytuacjach audyt przynosi największą wartość.
Jego celem jest zidentyfikowanie przyczyn problemów wydajnościowych oraz wskazanie konkretnych działań naprawczych.
SQL Server działa wolniej niż powinien?
 
Porozmawiajmy i sprawdźmy, czy audyt pozwoli znaleźć przyczynę problemu.