Udostępnij za pomocą


Konfiguracja serwera: maska we/wy powiązania

Dotyczy:SQL Server

Aby przeprowadzić wielozadaniowość, system Windows czasami przenosi wątki procesów między różnymi procesorami. Choć wydajna z punktu widzenia systemu operacyjnego, ta aktywność może zmniejszyć wydajność SQL Server przy dużych obciążeniach systemu, ponieważ każda pamięć podręczna procesora jest ciągle, wielokrotnie załadowywana danymi. Przypisywanie procesorów do określonych wątków może poprawić wydajność w tych warunkach, eliminując ponowne ładowanie procesora; takie skojarzenie między wątkiem a procesorem jest nazywane koligacją procesora.

Program SQL Server obsługuje koligację procesora z dwiema opcjami maski koligacji: affinity mask (znaną również jako maska koligacji procesora) i affinity I/O mask. Aby uzyskać więcej informacji o opcji affinity mask, zobacz Konfiguracja serwera: maska koligacji. Obsługa koligacji CPU i I/O dla serwerów z procesorami od 33 do 64 wymaga również użycia opcji konfiguracji serwera maski koligacji64 oraz maski koligacji64 I/O.

Uwaga / Notatka

Obsługa koligacji dla serwerów z procesorami 33–64 jest dostępna tylko w 64-bitowych systemach operacyjnych.

Opcja affinity I/O mask wiąże we/wy dysku programu SQL Server z określonym podzestawem procesorów CPU. W wysokiej klasy środowiskach programu SQL Server do przetwarzania transakcji w trybie online (OLTP), to rozszerzenie może zwiększyć wydajność wątków programu SQL Server, wykonujących operacje we/wy. To ulepszenie nie obsługuje koligacji sprzętowej dla poszczególnych dysków ani kontrolerów dysków.

Wartość parametru affinity I/O mask określa, które procesory CPU na komputerze wieloprocesorowym kwalifikują się do przetwarzania operacji we/wy dysku programu SQL Server. Maska jest bitmapą, w której bit najbardziej z prawej strony określa CPU(0) o najniższej kolejności, bit bezpośrednio z lewej strony określa kolejny procesor CPU(1) i tak dalej. Aby skonfigurować więcej niż 32 procesory, ustaw zarówno elementy , jak affinity I/O mask i affinity64 I/O mask.

Wartości dla elementu affinity I/O mask są następujące:

Bajty w masce Liczba procesorów
1 bajt Maksymalnie 8 procesorów
2 bajty Do 16 procesorów
3 bajty Maksymalnie 24 procesory CPU
4 bajty Maksymalnie 32 procesory

Aby obsłużyć więcej niż 32 procesory CPU, skonfiguruj 4 bajty affinity I/O mask dla pierwszych 32 procesorów CPU i maksymalnie 4 bajty affinity64 I/O mask dla pozostałych procesorów CPU.

Bit 1 we wzorcu koligacji I/O określa, że odpowiedni CPU jest uprawniony do wykonywania operacji we/wy dysku SQL Server. Bit 0 określa, że dla odpowiedniego CPU, nie powinny być zaplanowane żadne operacje I/O dysku przez SQL Server. Jeśli wszystkie bity są ustawione na 0, lub affinity I/O mask nie jest określony, operacje we/wy dysku programu SQL Server są przydzielane do dowolnego z procesorów CPU uprawnionych do przetwarzania wątków programu SQL Server.

Ponieważ ustawienie opcji programu SQL Server affinity I/O mask jest wyspecjalizowaną operacją, użyj jej tylko wtedy, gdy jest to konieczne. W większości przypadków domyślna koligacja systemu Windows zapewnia najlepszą wydajność.

Określając opcję affinity I/O mask, należy ją stosować wraz z opcją konfiguracji affinity mask. Nie włączaj tego samego CPU zarówno w przełączniku affinity I/O mask jak i w opcji affinity mask. Bity odpowiadające każdemu procesorowi CPU powinny znajdować się w jednym z następujących trzech stanów:

  • 0 zarówno w opcji affinity I/O mask, jak i affinity mask.
  • 1 w opcji affinity I/O mask i 0 w opcji affinity mask.
  • 0 w opcji affinity I/O mask i 1 w opcji affinity mask.

Opcja affinity I/O mask jest opcją zaawansowaną. Jeśli używasz sp_configure procedury składowanej systemu do zmiany ustawienia, możesz zmienić tylko affinity I/O mask wtedy, gdy show advanced options jest ustawiony na 1. W programie SQL Server ponowne skonfigurowanie affinity I/O mask opcji wymaga ponownego uruchomienia wystąpienia programu SQL Server.

Ostrzeżenie

Nie należy konfigurować koligacji procesora CPU w systemie operacyjnym Windows, a także konfigurować affinity mask w programie SQL Server. Te ustawienia próbują osiągnąć ten sam wynik, a jeśli konfiguracje są niespójne, możesz mieć nieprzewidywalne wyniki. Powiązanie procesora w SQL Server najlepiej skonfigurować przy użyciu procedury składowanej systemu sp_configure w SQL Server.