Articles

Strojenie wydajności bazy danych SQL Server

Posted on

Jesteś programistą, DBA lub administrator utknąłeś z długo działającymi zapytaniami w SQL Server i musisz wykonać strojenie wydajności SQL Server. Nauczymy Cię dostrajać SQL w serii łatwych, darmowych tutoriali:

  1. Zmierz, jak szybko działa serwer.
  2. Popraw wydajność zapytań.
  3. Popraw wydajność indeksów.
  4. Popraw wydajność ustawień SQL Server.
  5. Popraw wydajność sprzętu.
  6. Na koniec, jeśli musisz kupić nowe serwery, zdobądź listę kontrolną najlepszych praktyk konfiguracyjnych i wykonaj testy obciążeniowe przed uruchomieniem.

Pozwól nam przejść do szczegółów każdego z kroków.

Pomiar wydajności serwera SQL

Kiedy użytkownicy przychodzą do Ciebie i mówią, że ich zapytania są powolne, nie chcesz po prostu wierzyć im na słowo: chcesz wiedzieć dokładnie, które zapytania są powolne i dlaczego. Zacznijmy od

  • sp_BlitzFirst® – to darmowe narzędzie jest jak prędkościomierz SQL Servera. Pokazuje, jak szybko działa SQL Server i jakie typy oczekiwania uniemożliwiają szybsze działanie.
  • SQL Server Perfmon Tutorial – jak skonfigurować Perfmon, jakie liczniki SQL Server Perfmon śledzić i co oznaczają poszczególne wskaźniki.
  • Watch Brent Tune Servers – na Microsoft Ignite 2015 wziął kilka obciążeń SQL Server, znalazł wąskie gardło, a następnie podrasował różne ustawienia, aby uzyskać szybkie poprawki.

Następnie, zanim zaczniesz coś zmieniać, zapytaj, jakie części serwera wolno Ci zmieniać. The Manager’s Guide to Tuning SQL Server daje Ci prostą listę kontrolną, na której znajdziesz informacje o tym, które części serwera możesz zmienić lub całkowicie zastąpić.

Jak zoptymalizować zapytania SQL

Jeśli masz wewnętrzną aplikację i masz możliwość optymalizacji zapytań, oto kilka sposobów na znalezienie długo działających zapytań w SQL Server, a następnie jak zwiększyć ich wydajność. Po pierwsze, musimy znaleźć, które zapytania należy zoptymalizować, a oto narzędzia do optymalizacji wydajności zapytań, których używam:

  • Aby znaleźć ogólnie długo działające zapytania, użyj darmowego skryptu sp_BlitzCache. Nie musisz nic instalować z wyprzedzeniem i działa on na wszystkich obsługiwanych wersjach SQL Server od 2008. (Działa nawet w chmurze.)
  • Aby dowiedzieć się, jakie są obecnie najdłużej działające zapytania, uruchom sp_BlitzWho. Pokazuje on zapytania od najdłużej do najkrócej działających i podaje ich plany wykonania.

Zauważysz, że nie powiedziałem, aby wyłapywać wolno działające zapytania za pomocą SQL Profiler. Profiler nie jest dobrym narzędziem do monitorowania wydajności serwera SQL: powoduje on, że wszystkie zapytania działają wolniej. O wiele lepiej jest używać plan cache, jak pokazano powyżej.

Gdy już znalazłeś drogie zapytania SQL, które musisz dostroić, oto moje ulubione wskazówki dotyczące dostrajania wydajności:

  • Zobacz jak Brent dostraja zapytania – czy kiedykolwiek zastanawiałeś się jak ktoś inny to robi? Zajrzyj przez ramię Brenta w tym darmowym samouczku SQL Server.
  • 7 rzeczy, które programiści powinni wiedzieć o SQL – w tym dlaczego funkcje rzadko działają dobrze, dlaczego WITH NOLOCK nie oznacza, że nie ma blokady i wiele więcej.
  • Jak zmierzyć poprawę wydajności – Kendra wyjaśnia, jak używać statystyk z SSMS.
  • Jak odczytywać plany wykonania zapytań i dostrajać je tak, aby działały szybciej.

Jak dostroić wydajność indeksów

Jeśli nie możesz optymalizować zapytań SQL, ale nadal potrzebujesz je przyspieszyć, wtedy możesz potrzebować zaprojektować indeksy nieklastrowe i kryjące. To może zwiększyć wydajność zapytań SQL bez

Chcąc uczynić struktury bazy danych bardziej wydajnymi, aby SQL Server pracował mniej, oto nasze zasoby:

  • sp_BlitzIndex® – uruchom to w swojej bazie danych dla bezpłatnego sprawdzenia poprawności. Pokazuje on brakujące indeksy, nieużywane indeksy, duplikaty, sterty i inne oraz wyjaśnia, dlaczego wpływają one negatywnie na wydajność.
  • Zasoby indeksowania – nasze ulubione wpisy na blogach i filmy na temat dostrajania indeksów.
  • Rekomendacje książek SQL Server – ok, książki nie są darmowe, ale nasze rekomendacje tak. Wybieramy najlepsze książki dla początkujących, zaawansowanych i tych, którzy chcą poprawić wydajność.
  • Partycjonowanie tabel – ta funkcja wydaje się być świetnym sposobem na podzielenie dużych tabel, ale wiąże się z kilkoma poważnymi problemami.
  • Jak dostroić indeksy – i sprawić, że zapytania SQL Server będą przebiegać szybciej.

Dostrajanie ustawień SQL Server

Zaskakująco, wiele domyślnych ustawień SQL Server może prowadzić do złej wydajności. Porozmawiajmy o tym, co należy zrobić:

  1. Uruchomić sp_Blitz® na serwerze. Jest to darmowy test, który wyłapuje wiele typowych wąskich gardeł wydajności.
  2. Sprawdź naszą Listę kontrolną konfiguracji serwera SQL – kilka prostych zmian w konfiguracji może zapewnić Ci 20-30% wzrost wydajności od samego początku, bez wydawania dodatkowych pieniędzy.
  3. Przeglądnij Listę kontrolną słabej wydajności – 5 rzeczy Jeremiaha, które naprawiają złą wydajność serwera SQL.
  4. Przewodnik administratora po pamięci serwera SQL – dlaczego sqlserver.exe nie używa dużo pamięci? Jak sprawdzić, czy potrzebuje jej więcej?

Performance Tune the Hardware

Hej, czasami, rzucenie sprzętem w problem jest najszybszą, najłatwiejszą i najtańszą poprawką.

  • Jaki najmniejszy serwer SQL powinieneś zbudować? – Brent wyjaśnia, dlaczego 96 GB RAM to tak naprawdę nie jest dużo – zwłaszcza gdy porównamy to z kosztami licencji SQL Server.
  • Wyniki testów obciążenia macierzy RAID – Jak szybkie są dostępne na rynku dyski SSD, zwłaszcza gdy umieścimy je za kontrolerem RAID?
  • Współdzielona pamięć masowa dla SQL Server – dużo zajmujemy się tuningiem sieci SAN i zebraliśmy nasze ulubione zasoby.
  • Najlepsze praktyki wirtualizacji – licencjonowanie, odzyskiwanie danych i konfiguracje wydajnościowe.
  • Wirtualizacja, sieci SAN i sprzęt dla SQL Server – 7-godzinna lekcja online ucząca, jak to wszystko skonfigurować i dostroić.

Budowanie i testowanie obciążenia nowych serwerów SQL

Gdy planujesz, jak duży serwer zbudować, zacznij od filmu Brenta z Microsoft TechEd 2012, Building the Fastest SQL Servers. Wyjaśnia on dwa typowe wzorce dostępu do baz danych (OLTP i hurtownie danych) i podaje źródła informacji o tym, jaki sprzęt wybrać dla każdego z nich.

W przypadku hurtowni danych przejdź na stronę Microsoft Fast Track Landing Page, ale ZANIM KLIKNIESZ, strona ta zawiera wiele materiałów marketingowych i musisz wiedzieć, czego szukasz. Skup się na Konfiguracjach referencyjnych i Przewodnikach konfiguracji. Istnieje kilka neutralnych z Microsoftu, a następnie są specyficzne dla dostawców przewodniki z Dell, HP, IBM, itp. Być może będziesz musiał przewinąć całą drogę do dołu, aby zobaczyć rzeczy specyficzne dla dostawcy.

Jak już serwer zostanie zbudowany, oto nasze ulubione zasoby do testowania obciążenia i konfiguracji:

  • Jak szybka jest Twoja pamięć masowa? – Pokazuję, jak używać darmowego narzędzia CrystalDiskMark do przeprowadzania szybkich testów obciążeniowych dysków półprzewodnikowych i sieci SAN.
  • Jak testować wydajność sieci SAN za pomocą SQLIO – SQLIO to prawdopodobnie najgorzej nazwane narzędzie w historii: nie ma nic wspólnego z bazami danych. Wciąż jednak jest bardzo przydatne do testowania wąskich gardeł.

Potrzebujesz konsultacji w zakresie SQL Server? Jesteśmy konsultantami ds. strojenia wydajności.

Specjalizujemy się w uczynieniu Microsoft SQL Server szybkim i niezawodnym.

Nasi klienci są bardzo zróżnicowani: witryny dot-com, fundusze hedgingowe, szpitale, producenci oprogramowania, a nawet małe 1-2 osobowe sklepy. Wszyscy oni mają jedną wspólną cechę: są sfrustrowani swoimi serwerami SQL i potrzebują szybkich, opłacalnych odpowiedzi.

Prawdopodobnie widziałeś nasze prezentacje na konferencjach na całym świecie i być może nawet czegoś się nauczyłeś. Spodobają Ci się nasze szkolenia stacjonarne i filmy szkoleniowe.

Chcesz szybszej, spersonalizowanej pomocy? Oferujemy sprawdzenie stanu i wydajności SQL Server, które szybko dociera do przyczyn problemów i pokazuje, jak je rozwiązać. Skontaktuj się z nami teraz, aby dowiedzieć się więcej.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *