Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Możesz wykorzystać ten temat, aby poznać niektóre funkcje kart sieciowych, które mogą mieć wpływ na Twoje decyzje zakupowe.
Aplikacje intensywnie korzystające z sieci wymagają kart sieciowych o wysokiej wydajności. W tej sekcji opisano niektóre zagadnienia dotyczące wybierania kart sieciowych, a także sposób konfigurowania różnych ustawień karty sieciowej w celu uzyskania najlepszej wydajności sieci.
Tip
Ustawienia karty sieciowej można skonfigurować przy użyciu programu Windows PowerShell. Aby uzyskać więcej informacji, zobacz Cmdlety karty sieciowej w programie Windows PowerShell.
Możliwości odciążania
Odciążanie zadań z centralnej jednostki przetwarzania (CPU) do karty sieciowej może zmniejszyć użycie procesora CPU na serwerze, co zwiększa ogólną wydajność systemu.
Stos sieciowy w produktach firmy Microsoft może przenieść (odciążyć) jedno lub więcej zadań do karty sieciowej, jeśli wybierzesz kartę sieciową, która ma odpowiednie możliwości odciążania. Poniższa tabela zawiera krótkie omówienie różnych funkcji odciążania dostępnych w systemie Windows Server 2016.
| Typ odciążania | Description |
|---|---|
| Obliczanie sumy kontrolnej dla protokołu TCP | Stos sieciowy może odciążać obliczenia i walidację sum kontrolnych protokołu TCP (Transmission Control Protocol) na ścieżkach kodu wysyłania i odbierania. Może również odciążać obliczenia i walidację sum kontrolnych IPv4 i IPv6 na ścieżkach kodowych wysyłania i odbioru. |
| Obliczanie sumy kontrolnej dla protokołu UDP | Stos sieciowy może odciążyć obliczenia i walidację sum kontrolnych protokołu UDP (User Datagram Protocol) na ścieżkach kodu wysyłania i odbierania. |
| Obliczanie sumy kontrolnej dla protokołu IPv4 | Stos sieciowy może odciążyć obliczenie i walidację sum kontrolnych IPv4 w ścieżkach kodu wysyłania i odbierania. |
| Obliczanie sumy kontrolnej dla protokołu IPv6 | Stos sieciowy może odciążyć obliczanie i weryfikację sum kontrolnych IPv6 na ścieżkach kodu wysyłania oraz odbierania danych. |
| Segmentacja dużych pakietów TCP | Warstwa transportu TCP/IP obsługuje duże odciążanie wysyłania w wersji 2 (LSOv2). W przypadku LSOv2 warstwa transportu TCP/IP może przekazywać segmentację dużych pakietów TCP karcie sieciowej. |
| Skalowanie po stronie odbierającej (RSS) | Technologia RSS to sterowniki sieciowe, które umożliwiają wydajną dystrybucję przetwarzania odbioru sieci na wielu procesorach w systemach wieloprocesorowych. Więcej szczegółów na temat funkcji RSS znajduje się w dalszej części tego tematu. |
| Łączenie segmentów odbiorczych (RSC) | RSC to umiejętność grupowania pakietów w celu zminimalizowania przetwarzania nagłówka, które musi być wykonane przez hosta. Do przetworzenia można połączyć maksymalnie 64 KB odebranego ładunku w jeden większy pakiet. Więcej szczegółów na temat funkcji RSC znajduje się w dalszej części tego tematu. |
Skalowanie po stronie odbierającej
Systemy Windows Server 2016, Windows Server 2012, Windows Server 2012 R2, Windows Server 2008 R2 i Windows Server 2008 obsługują skalowanie po stronie odbierającej (Receive Side Scaling, RSS).
Niektóre serwery są skonfigurowane z wieloma procesorami logicznymi, które współużytkują zasoby sprzętowe (takie jak rdzeń fizyczny) i które są traktowane jako wielowątkowość współbieżna (SMT). Technologia Intel Hyper-Threading jest przykładem. Funkcja RSS kieruje przetwarzanie sieci do maksymalnie jednego procesora logicznego na rdzeń. Na przykład na serwerze z funkcją Intel Hyper-Threading, 4 rdzeniami i 8 procesorami logicznymi funkcja RSS nie używa więcej niż 4 procesorów logicznych do przetwarzania sieci.
Funkcja RSS dystrybuuje pakiety wejścia/wyjścia sieci przychodzącej między procesory logiczne, dzięki czemu pakiety należące do tego samego połączenia TCP są przetwarzane na jednym procesorze logicznym, co pozwala zachować kolejność.
Funkcja RSS równoważy również obciążenie emisji pojedynczej i multiemisji UDP oraz kieruje powiązane przepływy (które są określane przez wyznaczanie wartości skrótu adresów źródłowych i docelowych) do tego samego procesora logicznego, zachowując kolejność powiązanych przylotów. Pomaga to zwiększyć skalowalność i wydajność w scenariuszach intensywnego odbierania danych dla serwerów, które mają mniej kart sieciowych niż uprawnionych procesorów logicznych.
Konfigurowanie funkcji RSS
W systemie Windows Server 2016 można skonfigurować funkcję RSS przy użyciu poleceń cmdlet programu Windows PowerShell i profilów RSS.
Profile RSS można zdefiniować przy użyciu parametru –Profile polecenia cmdlet Programu Windows PowerShell Set-NetAdapterRss .
Polecenia programu Windows PowerShell dla konfiguracji RSS
Następujące polecenia cmdlet umożliwiają wyświetlanie i modyfikowanie parametrów RSS dla każdego adaptera sieciowego.
Note
Aby uzyskać szczegółowy opis poleceń dla każdego polecenia cmdlet, wraz ze składnią i parametrami, możesz kliknąć poniższe linki. Ponadto można przekazać nazwę polecenia cmdlet do polecenia Get-Help w wierszu polecenia programu Windows PowerShell, aby uzyskać szczegółowe informacje na temat każdego polecenia.
Disable-NetAdapterRss. To polecenie wyłącza RSS na określonym adapterze sieciowym.
Enable-NetAdapterRss. To polecenie umożliwia włączenie funkcji RSS na wybranym przez Ciebie adapterze sieciowym.
Get-NetAdapterRss. To polecenie pobiera właściwości RSS określonej karty sieciowej.
Set-NetAdapterRss. Polecenie ustawia właściwości RSS dla określonego adaptera sieciowego.
Profile RSS
Możesz użyć parametru –Profile polecenia cmdlet Set-NetAdapterRss, aby określić, które procesory logiczne są przypisane do której karty sieciowej. Dostępne wartości dla tego parametru to:
Closest. Preferowane są numery procesorów logicznych, które znajdują się w pobliżu bazowego procesora RSS karty sieciowej. W przypadku tego profilu system operacyjny może dynamicznie równoważyć procesory logiczne na podstawie obciążenia.
ClosestStatic. Preferowane są numery procesorów logicznych w pobliżu podstawowego procesora RSS karty sieciowej. W przypadku tego profilu system operacyjny nie równoważy dynamicznie procesorów logicznych na podstawie obciążenia.
NUMA. Numery procesorów logicznych są zwykle wybierane na różnych węzłach NUMA w celu rozłożenia obciążenia. W przypadku tego profilu system operacyjny może dynamicznie równoważyć procesory logiczne na podstawie obciążenia.
NUMAStatic. Jest to profil domyślny. Numery procesorów logicznych są zwykle wybierane na różnych węzłach NUMA w celu rozłożenia obciążenia. W przypadku tego profilu system operacyjny nie będzie dynamicznie równoważyć procesorów logicznych na podstawie obciążenia.
Conservative. Funkcja RSS używa jak najmniejszej liczby procesorów do utrzymania obciążenia. Ta opcja pomaga zmniejszyć liczbę przerwań.
W zależności od scenariusza i właściwości obciążenia można również użyć innych parametrów polecenia cmdlet Set-NetAdapterRss środowiska Windows PowerShell, aby określić następujące parametry:
- Dla każdego adaptera sieciowego, ile procesorów logicznych można używać dla RSS.
- Przesunięcie początkowe dla zakresu procesorów logicznych.
- Węzeł, z którego karta sieciowa przydziela pamięć.
Poniżej przedstawiono dodatkowe parametry Set-NetAdapterRss , których można użyć do skonfigurowania funkcji RSS:
Note
W przykładowej składni dla każdego poniższego parametru nazwa karty sieciowej Ethernet jest używana jako przykładowa wartość parametru –Name polecenia Set-NetAdapterRss . Po uruchomieniu polecenia cmdlet upewnij się, że używana nazwa karty sieciowej jest odpowiednia dla danego środowiska.
* MaxProcessors: ustawia maksymalną liczbę procesorów RSS do użycia. Dzięki temu ruch aplikacji jest powiązany z maksymalną liczbą procesorów w danym interfejsie. Przykładowa składnia:
Set-NetAdapterRss –Name "Ethernet" –MaxProcessors <value>* BaseProcessorGroup: Ustawia podstawową grupę procesorów węzła NUMA. Ma to wpływ na macierz procesorów używaną przez RSS. Przykładowa składnia:
Set-NetAdapterRss –Name "Ethernet" –BaseProcessorGroup <value>* MaxProcessorGroup: ustawia maksymalną grupę procesorów węzła NUMA. Ma to wpływ na macierz procesorów używaną przez RSS. Ustawienie tego ustawienia spowoduje ograniczenie maksymalnej grupy procesorów tak, aby równoważenie obciążenia było wyrównane w grupie k. Przykładowa składnia:
Set-NetAdapterRss –Name "Ethernet" –MaxProcessorGroup <value>* BaseProcessorNumber: ustawia podstawowy numer procesora węzła NUMA. Ma to wpływ na macierz procesorów używaną przez RSS. Umożliwia to partycjonowanie procesorów między kartami sieciowymi. Jest to pierwsza jednostka logiczna z zestawu procesorów RSS, która jest przypisana do każdego adaptera. Przykładowa składnia:
Set-NetAdapterRss –Name "Ethernet" –BaseProcessorNumber <Byte Value>* NumaNode: węzeł NUMA, z którego każdy adapter sieciowy może przydzielić pamięć. Może to być w obrębie jednej grupy k, lub pomiędzy różnymi grupami k. Przykładowa składnia:
Set-NetAdapterRss –Name "Ethernet" –NumaNodeID <value>* NumberofReceiveQueues: Jeśli procesory logiczne wydają się być niedostatecznie wykorzystywane do odbierania ruchu (na przykład, jak pokazano w Menedżerze zadań), możesz spróbować zwiększyć liczbę kolejek RSS z wartości domyślnej 2 do maksymalnej obsługiwanej przez kartę sieciową. Karta sieciowa może mieć opcje zmiany liczby kolejek RSS w ramach sterownika. Przykładowa składnia:
Set-NetAdapterRss –Name "Ethernet" –NumberOfReceiveQueues <value>
Aby uzyskać więcej informacji, kliknij następujący link, aby pobrać Skalowalne sieci: Wyeliminowanie wąskiego gardła przetwarzania odbierającego — Wprowadzenie RSS w formacie Word.
Informacje o wydajności rss
Dostrajanie funkcji RSS wymaga zrozumienia konfiguracji i logiki równoważenia obciążenia. Aby sprawdzić, czy ustawienia RSS zostały zastosowane, możesz przejrzeć dane wyjściowe po uruchomieniu polecenia cmdlet Get-NetAdapterRss środowiska Windows PowerShell. Poniżej przedstawiono przykładowe dane wyjściowe tego polecenia cmdlet.
PS C:\Users\Administrator> get-netadapterrss
Name : testnic 2
InterfaceDescription : Broadcom BCM5708C NetXtreme II GigE (NDIS VBD Client) #66
Enabled : True
NumberOfReceiveQueues : 2
Profile : NUMAStatic
BaseProcessor: [Group:Number] : 0:0
MaxProcessor: [Group:Number] : 0:15
MaxProcessors : 8
IndirectionTable: [Group:Number]:
0:0 0:4 0:0 0:4 0:0 0:4 0:0 0:4
…
(# indirection table entries are a power of 2 and based on # of processors)
…
0:0 0:4 0:0 0:4 0:0 0:4 0:0 0:4
Oprócz odzwierciedlania parametrów, które zostały ustawione, kluczowym aspektem danych wyjściowych jest wynik z tabeli pośredniej. W tabeli pośredniej są wyświetlane zasobniki tabeli skrótów używane do dystrybucji ruchu przychodzącego. W tym przykładzie notacja n:c wyznacza parę indeksu Numa K-Group:CPU, która jest używana do kierowania ruchu przychodzącego. Widzimy dokładnie 2 unikatowe wpisy (0:0 i 0:4), które reprezentują odpowiednio k-group 0/cpu0 i k-group 0/cpu4.
Istnieje tylko jedna grupa k dla tego systemu (k-group 0) i n (gdzie n <= 128) wpis tabeli pośredniej. Ponieważ liczba kolejek odbierania jest ustawiona na 2, wybierane są tylko 2 procesory (0:0, 0:4) — mimo że maksymalna liczba procesorów jest ustawiona na 8. W efekcie tabela pośrednia funkcjonuje jako tabeli haszująca ruch przychodzący, aby używać tylko 2 z dostępnych 8 procesorów.
Aby w pełni korzystać z procesorów CPU, liczba kolejek odbierania RSS musi być równa lub większa niż maksymalna liczba procesorów. W poprzednim przykładzie kolejka odbierania powinna być ustawiona na 8 lub większą.
Tworzenie zespołu kart interfejsu sieciowego i rss
Funkcję RSS można włączyć na karcie sieciowej, która jest zespołem z inną kartą sieciową przy użyciu kart interfejsu sieciowego. W tym scenariuszu można skonfigurować tylko podstawowy fizyczny adapter sieciowy do użycia RSS. Użytkownik nie może ustawić poleceń cmdlet RSS na zespołowym adapterze sieciowym.
Łączenie segmentów odbiorczych (RSC)
Łączenie segmentów odbierania (RSC) pomaga poprawić wydajność poprzez zmniejszenie liczby nagłówków IP przetwarzanych dla określonej ilości odebranych danych. Powinien on pomóc w skalowaniu wydajności odebranych danych przez grupowanie (lub łączenie) mniejszych pakietów w większe jednostki.
Takie podejście może mieć wpływ na opóźnienie z korzyściami widocznymi głównie w przypadku zysków przepływności. Zaleca się technologię RSC do zwiększenia przepustowości dla odebranych ciężkich obciążeń. Rozważ wdrożenie kart sieciowych obsługujących funkcję RSC.
Na tych kartach sieciowych upewnij się, że funkcja RSC jest włączona (jest to ustawienie domyślne), chyba że masz określone obciążenia (na przykład małe opóźnienia, sieć o niskiej przepływności), które wykazują korzyści z wyłączenia usługi RSC.
Informacje o diagnostyce RSC
Możesz zdiagnozować RSC za pomocą poleceń cmdlet programu Windows PowerShell Get-NetAdapterRsc i Get-NetAdapterStatistics.
Poniżej przedstawiono przykładowe dane wyjściowe po uruchomieniu polecenia cmdlet Get-NetAdapterRsc.
PS C:\Users\Administrator> Get-NetAdapterRsc
Name IPv4Enabled IPv6Enabled IPv4Operational IPv6Operational IPv4FailureReason IPv6Failure
Reason
---- ----------- ----------- --------------- --------------- ----------------- ------------
Ethernet True False True False NoFailure NicProperties
Polecenie cmdlet Get pokazuje, czy funkcja RSC jest włączona w interfejsie i czy protokół TCP umożliwia korzystanie z usługi RSC w stanie operacyjnym. Przyczyna błędu zawiera szczegółowe informacje o niepowodzeniu włączania funkcji RSC w tym interfejsie.
W poprzednim scenariuszu protokół IPv4 RSC jest obsługiwany i działa w interfejsie. Aby zrozumieć błędy diagnostyczne, można zobaczyć spowodowane przez siebie bajty lub wyjątki. Wskazuje to na problemy związane z łączeniem.
Poniżej przedstawiono przykładowe dane wyjściowe po uruchomieniu polecenia cmdlet Get-NetAdapterStatistics.
PS C:\Users\Administrator> $x = Get-NetAdapterStatistics "myAdapter"
PS C:\Users\Administrator> $x.rscstatistics
CoalescedBytes : 0
CoalescedPackets : 0
CoalescingEvents : 0
CoalescingExceptions : 0
Technologia RSC i wirtualizacja
Technologia RSC jest obsługiwana tylko na hoście fizycznym, gdy karta sieciowa hosta nie jest powiązana z przełącznikiem wirtualnym Hyper-V. Funkcja RSC jest wyłączona przez system operacyjny, gdy host jest powiązany z przełącznikiem wirtualnym Hyper-V. Ponadto maszyny wirtualne nie korzystają z usługi RSC, ponieważ wirtualne karty sieciowe nie obsługują usługi RSC.
Funkcję RSC można włączyć dla maszyny wirtualnej, gdy włączono wirtualizację pojedynczego głównego wejścia/wyjścia (SR-IOV). W takim przypadku funkcje wirtualne obsługują funkcję RSC; w związku z tym maszyny wirtualne również otrzymują korzyści z korzystania z usługi RSC.
Zasoby adaptera sieciowego
Kilka kart sieciowych aktywnie zarządza swoimi zasobami, aby osiągnąć optymalną wydajność. Kilka adapterów sieciowych umożliwia ręczne konfigurowanie zasobów za pomocą karty Zaawansowane ustawienia sieci. W przypadku takich adapterów można ustawić wartości wielu parametrów, w tym liczbę buforów odbiorczych i nadawczych.
Konfigurowanie zasobów karty sieciowej jest uproszczone przy użyciu następujących poleceń cmdlet programu Windows PowerShell.
Aby uzyskać więcej informacji, zobacz Cmdlety karty sieciowej w programie Windows PowerShell.
Aby uzyskać linki do wszystkich tematów w tym przewodniku, zobacz Dostosowywanie wydajności podsystemu sieci.