Wprowadzenie do ogólnej architektury serwerów

Serwer składa się z wielu podsystemów, z których każdy odgrywa kluczową rolę w określaniu wydajności serwera. Niektóre podsystemy mają większe znaczenie dla wydajności, w zależności od aplikacji, do której używany jest serwer.

Te podsystemy serwerów obejmują:

1. Procesor i pamięć podręczna
Procesor jest sercem serwera, odpowiedzialnym za obsługę niemal wszystkich transakcji. Jest to podsystem o dużym znaczeniu i panuje powszechne błędne przekonanie, że szybsze procesory zawsze lepiej eliminują wąskie gardła wydajności.

Wśród głównych komponentów instalowanych w serwerach procesory są często mocniejsze niż inne podsystemy. Jednak tylko kilka wyspecjalizowanych aplikacji jest w stanie w pełni wykorzystać zalety nowoczesnych procesorów, takich jak procesory P4 lub 64-bitowe.

Na przykład klasyczne przykłady serwerów, takie jak serwery plików, nie są w dużym stopniu zależne od obciążenia procesora, ponieważ większość ruchu plikowego wykorzystuje technologię bezpośredniego dostępu do pamięci (DMA) w celu ominięcia procesora, w zależności od przepustowości sieci, pamięci i podsystemów dysku twardego.

Obecnie firma Intel oferuje szeroką gamę procesorów dostosowanych do serwerów z serii X. Zrozumienie różnic i zalet pomiędzy różnymi procesorami jest kluczowe.

Pamięć podręczna, ściśle uważana za część podsystemu pamięci, jest fizycznie zintegrowana z procesorem. Procesor i pamięć podręczna ściśle ze sobą współpracują, przy czym pamięć podręczna działa z szybkością około połowy szybkości procesora lub jego odpowiednika.

2. Magistrala PCI
Magistrala PCI to potok danych wejściowych i wyjściowych w serwerach. Wszystkie serwery serii X korzystają z magistrali PCI (w tym PCI-X i PCI-E) do podłączania ważnych adapterów, takich jak SCSI i dyski twarde. Serwery najwyższej klasy mają zazwyczaj wiele magistral PCI i więcej gniazd PCI w porównaniu do poprzednich modeli.

Zaawansowane magistrale PCI obejmują technologie takie jak PCI-X 2.0 i PCI-E, które zapewniają wyższą przepustowość danych i możliwości łączności. Układ PCI łączy procesor i pamięć podręczną z magistralą PCI. Ten zestaw komponentów zarządza połączeniem między magistralą PCI, procesorem i podsystemami pamięci, aby zmaksymalizować ogólną wydajność systemu.

3. Pamięć
Pamięć odgrywa kluczową rolę w wydajności serwera. Jeśli serwer nie ma wystarczającej ilości pamięci, jego wydajność spada, ponieważ system operacyjny musi przechowywać dodatkowe dane w pamięci, a brakuje miejsca, co prowadzi do stagnacji danych na dysku twardym.

Godną uwagi cechą architektury korporacyjnego serwera serii X jest dublowanie pamięci, które poprawia redundancję i odporność na awarie. Ta technologia pamięci IBM jest w przybliżeniu odpowiednikiem RAID-1 dla dysków twardych, gdzie pamięć jest podzielona na grupy lustrzane. Funkcja dublowania jest oparta na sprzęcie i nie wymaga dodatkowego wsparcia ze strony systemu operacyjnego.

4. Dysk twardy
Z punktu widzenia administratora podsystem dysku twardego jest kluczowym wyznacznikiem wydajności serwera. W hierarchicznym układzie urządzeń pamięci masowej online (pamięć podręczna, pamięć, dysk twardy) dysk twardy jest najwolniejszy, ale ma największą pojemność. W przypadku wielu aplikacji serwerowych prawie wszystkie dane są przechowywane na dysku twardym, co sprawia, że ​​szybki podsystem dysku twardego ma krytyczne znaczenie.

RAID jest powszechnie stosowany w celu zwiększenia przestrzeni dyskowej na serwerach. Jednak macierze RAID znacząco wpływają na wydajność serwera. Wybór różnych poziomów RAID w celu zdefiniowania różnych dysków logicznych wpływa na wydajność, a także informacje o przestrzeni dyskowej i parzystości. Karty macierzy IBM ServeRAID i karty IBM Fibre Channel zapewniają opcje implementacji różnych poziomów RAID, każdy z unikalną konfiguracją.

Kolejnym krytycznym czynnikiem wpływającym na wydajność jest liczba dysków twardych w skonfigurowanej macierzy: im więcej dysków, tym lepsza przepustowość. Zrozumienie, w jaki sposób RAID obsługuje żądania we/wy, odgrywa kluczową rolę w optymalizacji wydajności.

Nowe technologie szeregowe, takie jak SATA i SAS, są obecnie wykorzystywane w celu zwiększenia wydajności i niezawodności.

5. Sieć
Karta sieciowa to interfejs, za pośrednictwem którego serwer komunikuje się ze światem zewnętrznym. Jeśli dzięki temu interfejsowi dane mogą osiągnąć doskonałą wydajność, wydajny podsystem sieciowy może znacząco wpłynąć na ogólną wydajność serwera.

Projekt sieci jest równie ważny jak projekt serwera. Warto rozważyć przełączniki przydzielające różne segmenty sieci lub zastosowanie technologii takich jak ATM.

Gigabitowe karty sieciowe są obecnie szeroko stosowane w serwerach, aby zapewnić niezbędną wysoką przepustowość. Jednak na horyzoncie pojawiają się również nowsze technologie, takie jak TCP Offload Engine (TOE), umożliwiające osiągnięcie szybkości 10G.

6. Karta graficzna
Podsystem wyświetlania na serwerach jest stosunkowo nieistotny, ponieważ jest używany tylko wtedy, gdy administratorzy muszą kontrolować serwer. Klienci nigdy nie korzystają z karty graficznej, więc wydajność serwera rzadko podkreśla ten podsystem.

7. System operacyjny
Uważamy, że system operacyjny jest potencjalnym wąskim gardłem, podobnie jak inne podsystemy dysku twardego. W systemach operacyjnych takich jak Windows, Linux, ESX Server i NetWare istnieją ustawienia, które można zmienić w celu poprawy wydajności serwera.

Podsystemy określające wydajność zależą od aplikacji serwera. Identyfikację i eliminację wąskich gardeł można osiągnąć poprzez gromadzenie i analizowanie danych dotyczących wydajności. Jednak tego zadania nie można wykonać od razu, ponieważ wąskie gardła mogą zmieniać się w zależności od zmian obciążenia serwera, prawdopodobnie codziennie lub co tydzień.


Czas publikacji: 20 lipca 2023 r