Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



23.04.2019

Optymalizacja zużycia chmury

HPE GreenLake Hybrid Cloud
23.04.2019

Zarządzanie wydajnością

VMware vRealize Operations 7.5
19.04.2019

Technologie open source

SUSECON 2019
19.04.2019

Wyjątkowo małe

OKI seria C800
19.04.2019

Łatwy montaż

Rittal AX i KX
18.04.2019

Technologie wideo

Avaya IX Collaboration Unit
18.04.2019

Krótki rzut

Optoma W318STe i X318STe
18.04.2019

Do mobilnej pracy

Jabra Evolve 65e
27.03.2019

Pożegnanie z systemem Windows...

System operacyjny Windows 7 wciąż cieszy się dużą popularnością wśród użytkowników...

Konfiguracja serwera na potrzeby SQL Server

Data publikacji: 26-06-2018 Autor: Marcin Szeliga

Celem artykułu jest przedstawienie wskazówek dotyczących poprawnej konfiguracji serwera, systemu Windows i serwera SQL Server – poprawnej, czyli takiej, która zapewni nam optymalną wydajność aplikacji bazodanowych.

Chmura i dostępne w niej bazy danych jako usługi (bazy danych dostępne w trybie PaaS) stają się coraz bardziej popularne. Nadal jednak wiele firm decyduje się na uruchomienie serwera baz danych lokalnie. W takim przypadku konieczny jest samodzielny wybór serwera, instalacja i konfiguracja systemu operacyjnego oraz instalacja i konfiguracja serwera baz danych. Poprawne wykonanie tych zadań ma ogromny wpływ na wydajność serwera SQL Server i w konsekwencji na wydajność korzystających z niego aplikacji. 

 
Niestety, często budowa serwera jest przypadkowa, a konfiguracja systemu operacyjnego i serwera baz danych sprowadza się do przeprowadzania domyślnej instalacji (kliknij Dalej). Tymczasem domyślna konfiguracja oprogramowania może i jest najbardziej uniwersalna, ale niekoniecznie najlepsza w danym przypadku.
 
> Konfiguracja serwera
 
Wydajność serwera baz danych zależy od wydajności trzech podsystemów: procesora, pamięci i dysków. Wybierając je, należy kierować się zasadą, według której wydajność serwera ogranicza wydajność jego najwolniejszego podsystemu. Innymi słowy, należy dążyć do skonfigurowania zbilansowanego serwera, tj. takiego, którego każdy z trzech kluczowych podsystemów ma wydajność wystarczającą do optymalnego działania pozostałych. Zalecenie to jest tym ważniejsze, że niezbilansowane serwery nie tylko nie wykorzystują wszystkich swoich zasobów (a więc część zainwestowanych w nie pieniędzy została zmarnowana), ale mogą również wymagać wykupienia większej niż niezbędna liczby licencji na serwer SQL Server.
 
Procesory
 
Procesor jest tym elementem serwera, który najrzadziej się wymienia. Oznacza to, że wybierając go, należy wziąć pod uwagę planowany czas życia serwera – z reguły wynosi on od trzech do pięciu lat. Powinniśmy więc preferować procesory o nowszej architekturze, takiej jak Skylake, oraz nowsze modele procesorów, takie jak Kaby, Coffee Lake czy Cannonlake.
 
Wybierając CPU, powinniśmy pamiętać, że jeden procesor o dwukrotnie wyższej częstotliwości taktowania bardziej przyspieszy działanie systemu niż dwa procesory o niższej częstotliwości taktowania, nawet jeżeli suma częstotliwości taktowania tych procesorów będzie większa od częstotliwości pracy pojedynczego procesora. Wybór mniejszej liczby procesorów o wyższych częstotliwościach taktowania jest też uzasadniony mniejszymi kosztami licencji na SQL Server – SQL Server Enterprise działający na fizycznej maszynie wymaga licencji na każdy rdzeń serwera.
 
Wpływ procesora na wydajność i koszt licencji serwera baz danych ilustruje tabela 1. Kolejnym parametrem procesora, oprócz częstotliwości taktowania liczby rdzeni i ceny, który należy wziąć pod uwagę, jest wielkość pamięci podręcznej. Procesory o nowszych architekturach (takich jak Skylake) dysponują pamięcią podręczną L4 (LLC). Czas dostępu do tej pamięci jest 10-krotnie krótszy od czasu dostępu do pamięci RAM. W efekcie to wielkość pamięci podręcznej, a nie częstotliwość taktowania, ma często zasadniczy wpływ na wydajność serwera.
 
Pamięć
 
Połączenie dwóch czynników: 64-bitowej architektury procesorów, systemów operacyjnych i serwerów baz danych z relatywnie niskimi cenami pamięci RAM (64 GB pamięci DDR4-2400 kosztuje około 650 $) spowodowało, że niewyposażenie serwera w taką ilość pamięci RAM, która pomieści całą operacyjną bazę danych (albo największą tabelę hurtowni danych), jest marnowaniem pieniędzy wydanych na licencje, procesory i dyski. Koszt 1 TB pamięci RAM wynosi około 10 000 $, czyli mniej niż 5% kosztów procesorów.
 
Dyski
 
Wydajność dysków mierzy się na dwa sposoby:
 
  • Dla baz operacyjnych (OLTP) najważniejszy jest czas wykonania operacji zapisu/odczytu – im jest on krótszy, tym lepiej. Czas dostępu do dysków, na których znajdują się pliki dziennika transakcyjnego i bazy tempdb, nie powinien przekraczać 5 ms, a czas dostępu do dysków, na których znajduje się plik danych baz, nie powinien przekraczać 20 ms. 
  • Dla hurtowni danych najważniejsza jest przepustowość (liczba zapisanych/odczytanych bajtów w ciągu sekundy). Hurtownie danych często korzystają z macierzy SAN, a ich przepustowość ograniczona jest przepustowością interfejsu łączącego macierz z serwerem, dlatego macierze należy łączyć z serwerem wyłącznie za pomocą interfejsu PCI Express x8 lub x16 (tabela 2).
 
W większości przypadków to właśnie dyski są najwolniejszym podzespołem serwera. Żeby przekonać się, dlaczego tak jest, policzmy, ile danych w ciągu sekundy może przetworzyć procesor, i zestawmy ten wynik z ilością danych, jakie mogą być odczytane w tym czasie z dysków i pamięci.
 
Współczesne procesory serwerowe przetwarzają, w zależności od architektury i częstotliwości taktowania, od 400 do 800 MB danych przez każdy rdzeń w ciągu sekundy. Wyposażony w 32 rdzenie taktowane częstotliwością 3,2 GHz procesor Intel Xeon Gold 6146 może przetworzyć w ciągu sekundy 24 × 800 = 19 GB danych. 
 
W tym czasie teoretyczny limit ilości danych odczytanych z pamięci RAM wynosi 256 GB (przy założeniu konfiguracji 2,66 GT/s x 8 bajtów na kanał x 6 kanałów x 2 gniazda CPU). Czyli jeżeli cała baza danych znajdowała się w pamięci, możemy zagwarantować stabilną wydajność i wykorzystanie procesorów. 
 
[...]
 
Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie, jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"