affinity mask Option
Aby przeprowadzić wielozadaniowy, Microsoft System Windows 2000 i Windows Server 2003 czasami przenieść wątki procesów wśród różnych procesorach. Chociaż efektywne z punktu widzenia systemu operacyjnego, można zmniejszyć tego działania SQL Server wydajność w dużym systemie ładuje, jak każdy pamięci podręcznej procesora wielokrotnie zostanie ponownie załadowana z danymi. Przypisywanie procesorów do określonych wątek może zwiększyć wydajność w tych warunkach przez wyeliminowanie załadunków procesora i ograniczania migracji wątek przez procesor (zmniejszenie a tym samym kontekście przełączanie); takie skojarzenie między wątek i procesor jest nazywany koligacji procesora.
SQL Server obsługuje koligacji procesora, korzystając z dwóch opcji maski koligacji: maski koligacji (nazywane także Maski koligacji PROCESORA) i maski koligacji We/Wy.For more information on the affinity I/O maskoption, see affinity I/O mask Option.Obsługa koligacji PROCESORA i we/wy dla serwerów z procesorami 64 do 33 wymaga zastosowania dodatkowych affinity64 mask Option i affinity64 I/O mask Option, odpowiednio.
Uwaga
Koligacja obsługę serwerów 33 do 64 procesorów jest dostępna tylko w 64-bitowych systemach operacyjnych.
Opcja maski koligacji, która została wprowadzona we wcześniejszych wersjach SQL Server, dynamicznie kontroluje koligacje PROCESORA.
W SQL Server, można skonfigurować opcję maski koligacji bez konieczności ponownego uruchamiania programu SQL Server. W przypadku korzystania z sp_configure, należy uruchomić RECONFIGURE lub ponownie SKONFIGUROWAĆ WITH OVERRIDE po ustawieniu opcji konfiguracja.W przypadku korzystania z SQL Server Express, zmiana opcji maski koligacji wymaga ponownego uruchomienia komputera.
Wystąpienia zmian do maski koligacji dynamicznie, co pozwala na uruchamianie na żądanie i zamykania pracownikom PROCESORA, które wiązać wątków procesu w SQL Server. Taka sytuacja może wystąpić, ponieważ warunki zmieniają się na serwerze.Na przykład, jeżeli nowe wystąpienie SQL Server dodaje się do serwera, może być konieczne wprowadzenie zmian do opcji maski koligacji do redystrybucji obciążenia procesora.
Wymagają modyfikacji do bitmasks koligacji SQL Server Aby włączyć nowy harmonogram PROCESORA i wyłączanie istniejącego harmonogramu PROCESORA. Nowe partie następnie mogą być przetwarzane na nowych lub pozostałe pracownikom.
Aby rozpocząć nowy harmonogram PROCESORA, SQL Server Tworzy nowy harmonogram i dodaje go do listy swoich standardowych pracownikom. Nowy harmonogram jest uważany za tylko dla nowych instancji przychodzących.Na tym samym harmonogram w dalszym ciągu bieżącej partii.Pracownicy migrować do nowego harmonogramu zgodnie z ich zwolnić, lub tworzenia nowych pracowników.
Trwa zamykanie niedziałający harmonogram wymaga wszystkich instancji na harmonogram do zakończenia swoich działań i wyjść.Harmonogram, w którym nastąpiło wyłączenie niedziałający jest oznaczony jako w trybie offline, aby nie nowej instancji zaplanowano na nim.
Kontynuować procesu sygnału na harmonogram w czasie na serwerze nowy harmonogram jest dodawane lub usuwane, zadania systemu stałe, takie jak lockmonitor, punkt kontrolny, wątek zadania systemowego (przetwarzania DTC), i czy może być wykonywana.Zadania te stałe systemu nie są migrowane dynamicznie.Ponownie rozdzielić obciążenie procesora do wykonywania tych zadań w pracownikom, konieczne jest ponowne uruchomienie SQL Server wystąpienie. Jeśli SQL Server próbuje zamknąć harmonogramu, skojarzone z zadaniem stały system zadania kontynuuje działanie w harmonogramie trybu offline (nie migracji). Ten harmonogram jest związany z procesorów maski koligacji zmodyfikowany i nie powinny umieszczać wszelkie obciążenia procesora został affinitized z przed zmianą.Występuje bardzo offline pracownikom, powinien nie znaczącego wpływu na obciążenia systemu.Jeśli nie jest to przypadek, aby ponownie skonfigurować te zadania jest wymagany ponowny rozruch serwera bazy danych.
Zadania koligacji we/wy (na przykład lazywriter i logwriter) bezpośrednio dotyczy maski koligacji We/Wy.Jeśli zadania lazywriter i logwriter nie są affinitized, ich wykonaj te same reguły zdefiniowane dla innych zadań stałych takich jak lockmonitor lub punkt kontrolny.
Aby upewnić się, że nowe maski koligacji jest prawidłowy, polecenie RECONFIGURE weryfikuje, że normalne koligacje PROCESORA i we/wy wzajemnie się wykluczają.Jeśli nie jest to przypadek, komunikat o błędzie jest zgłaszane do sesja klient i SQL Server Dziennik błędów, wskazujący, że takie ustawienie nie jest zalecane. Ponownie SKONFIGURUJ WITH OVERRIDE opcji uruchamiania umożliwia koligacje PROCESORA i we/wy, które nie wykluczają się wzajemnie.
Jeśli określisz maski koligacji, które będzie mapować do nieistniejącego procesora CPU, polecenie RECONFIGURE zgłosi komunikat o błędzie do sesja klient oraz SQL Server Dziennik błędów. Opcja zmiany konfiguracja WITH OVERRIDE w takim wypadku jest ignorowany, a ten sam błąd konfiguracja jest zgłaszany ponownie.
Można również wykluczyć SQL Server działania z procesorów przypisywane obciążenia określonych przydziałów przez system operacyjny Windows 2000 lub Windows Server 2003. Jeśli użytkownik zestaw nieco reprezentujących procesora na wartość 1, ten procesor jest wybierany przez SQL Server Aparat bazy danych dla przydziału wątek. Gdy użytkownik zestaw maski koligacji 0 (domyślnie), Microsoft Windows 2000 lub Windows Server 2003, planowanie algorytmy zestaw koligacji wątek.Gdy użytkownik zestaw maski koligacji dowolną wartość różną od zera, SQL Server koligacja interpretuje wartość jako maskę bitową, która określa tych procesorów kwalifikują się do zaznaczenia.
Przez separacja SQL Server lepiej wątków z systemem poszczególnych procesorów, system Microsoft Windows 2000 lub Windows Server 2003 może służyć do oceny systemu obsługi procesów specyficzne dla systemu Windows. Na przykład na serwerze 8 procesorów uruchomione dwa wystąpienie SQL Server (wystąpienie A i B), administrator systemu można użyć opcji maski koligacji przypisać pierwszego zestawu 4 procesorów do wystąpienie i drugi zestaw 4 do wystąpienie B. Aby skonfigurować więcej niż 32 procesorów zestaw maski affinity64 i maski koligacji.Wartości dla maski koligacji są w następujący sposób:
Jeden bajt maski koligacji obejmuje do 8 procesorów w komputerze wieloprocesorowym.
2 Bajtowy maski koligacji obejmuje maksymalnie 16 procesorów w komputerze wieloprocesorowym.
Trzy bajt maski koligacji obejmuje maksymalnie 24 procesorów w komputerze wieloprocesorowym.
4 Bajtowy maski koligacji obejmuje do 32 procesorów w komputerze wieloprocesorowym.
Obejmujące więcej niż 32 procesorów, skonfiguruj maski koligacji czwartego bajtu dla pierwszych 32 procesorów i do maski affinity64 czwartego bajtu dla pozostałych procesorów.
Ponieważ ustawienie SQL Server Koligacja procesorów jest operacją specjalistyczne, zaleca się, że jest ono używane tylko wtedy, gdy jest to konieczne. W większości przypadków domyślne koligacji systemu Microsoft Windows 2000 lub Windows Server 2003 zapewnia najlepszą wydajność.Należy również rozważyć wymagania dotyczące PROCESORA dla innych aplikacji podczas ustawiania maski koligacji.Aby uzyskać więcej informacji zajrzyj do dokumentacji systemu operacyjnego Windows.
Uwaga
Monitor systemu Windows umożliwia wyświetlanie i analizowanie użycia poszczególnych procesorów.
Podczas określania opcji maski koligacji, należy go użyć w połączeniu z opcji konfiguracja we/wy maski koligacji.Nie należy włączać tego samego PROCESORA w obu maski koligacji przełącznika i koligacji we/wy maski opcji.Bity odpowiadające każdej PROCESORA powinny być w jednym z tych trzech stanów:
0 zarówno w przypadku opcji maski koligacji, jak i opcja maski koligacji We/Wy.
1 koligacja maski opcja i 0 w we/wy opcji maski koligacji.
0 in the affinity mask option and 1 in the affinity I/O mask option.
Ostrzeżenie
Nie Konfiguruj koligacji PROCESORA w systemie operacyjnym Windows i również skonfigurować maski koligacji w SQL Server. Te ustawienia próbujesz osiągnąć to samo, a jeśli konfiguracje są niezgodne, może przynieść nieprzewidywalne rezultaty.SQL Server Koligacje PROCESORA najlepiej jest skonfigurowany przy użyciu opcji sp_configure w SQL Server.
Przykład
Na przykład zestaw ting opcji maski koligacji procesorów, 1, 2 i 5 w przypadku zaznaczenia jako dostępne z bitów 1, 2 i 5 zestaw 1 i bitów 0, 3, 4, 6 i 7 zestaw na 0, wartość szesnastkowa 0x26 lub dziesiętny równoważnik 38 jest określony. Liczba bitów od prawej do lewej.Opcja maski koligacji uruchamiania zliczania procesory z zakresu od 0 do 31, tak że w poniższym przykładzie licznika 1 reprezentuje drugiego procesora na serwerze.
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'affinity mask', 38;
RECONFIGURE;
GO
Są to maski koligacji wartości 8-PROCESORA systemu.
Wartość dziesiętna |
Maska bitów binarne |
Zezwalaj na procesorach wątków programu SQL Server |
---|---|---|
1 |
00000001 |
0 |
3 |
00000011 |
0 i 1 |
7 |
00000111 |
0, 1 i 2 |
15 |
00001111 |
0, 1, 2 i 3 |
31 |
00011111 |
0, 1, 2, 3 i 4 |
63 |
00111111 |
0, 1, 2, 3, 4 i 5 |
127 |
01111111 |
0, 1, 2, 3, 4, 5 i 6 |
255 |
11111111 |
0, 1, 2, 3, 4, 5, 6 i 7 |
Opcja maski koligacji jest zaawansowana opcja.Jeśli korzystasz z sp_configure systemowa procedura składowana, aby zmienić to ustawienie, można zmienić maski koligacji tylko wtedy, gdy Pokaż zaawansowane opcje jest ustawiona na wartość 1.Po wykonaniu Transact-SQL RECONFIGURE polecenia, aby nowe ustawienie ma wpływ bezpośrednio bez konieczności ponownego uruchomienia SQL Server wystąpienie.
Inne niż jednolite dostęp do pamięci (NUMA)
Kiedy za pomocą sprzętu na dostęp do pamięci inne niż jednolite (NUMA) i jest maski koligacji zestaw, każdy harmonogram w węźle będzie się affinitized do swoich własnych procesora CPU.Jeżeli nie jest maski koligacji zestaw każdy harmonogram jest affinitized do grupy procesorów w węźle NUMA i harmonogram, mapowane do węzeł NUMA N1 można zaplanować pracę nad dowolnym PROCESORA w węźle, ale nie na procesorów skojarzonych z innego węzła.
Każde działanie uruchomiony na jednym węźle NUMA można używać tylko bufor stron z danego węzła.Podczas operacji jest wykonywane równolegle procesory z wielu węzłów, pamięci można używać z dowolnego węzła związanych.
Zagadnienia licencjonowania
Dynamic affinity is tightly constrained by CPU licensing.SQL Server does not allow any configuration of affinity mask options that violates the licensing policy.
Uruchamianie
Jeśli Maska koligacji określonego narusza zasady licencjonowania podczas SQL Server Uruchamianie lub w bazie danych attach, warstwy aparat zostanie ukończona operacja dołączania przywracanie bazy danych lub proces uruchamiania i następnie spowoduje zresetowanie sp_configure uruchomić wartość dla maski koligacji na zero, wydania komunikat o błędzie SQL Server Dziennik błędów.
Zmień konfigurację
Jeśli Maska koligacji określonego narusza zasady licencjonowania podczas uruchamiania Transact-SQL Ponownie SKONFIGURUJ polecenia, komunikat o błędzie jest zgłaszane do sesja klient i SQL Server Dziennik błędów wymagających administrator bazy danych, aby ponownie skonfigurować maski koligacji. Polecenie Zmień konfigurację WITH OVERRIDE nie jest akceptowany w tym przypadek.