Jak SQL Server obsługuje NUMA

Następujące klucz zmiany zostały wprowadzone w SQL Server 2005 korzystać z pamięci niejednolity dostęp (NUMA) architektury.

Grupowanie wspólnej procesorów

SQL Serverpracownikom grup do mapowania grupowanie procesorów, na podstawie sprzętu granicę NUMA udostępniane przez system Windows.Na przykład pole 16 sposób może być 4 węzły NUMA każdy węzeł o 4 procesory.Pozwala to na większą miejscowości pamięci dla tej grupy pracownikom podczas przetwarzania zadania w węźle.Z SQL Server procesorów skojarzonych z sprzętowego dalsze można podzielić węzeł NUMA do wielu węzłów CPU.Jest to nazywane soft NUMA.Zazwyczaj będzie podzielić procesorów do partycji pracy między węzłami Procesora.Więcej informacji o miękkich NUMA, zobacz Opis niejednolity dostęp do pamięci.

Gdy wątek uruchomiony w węźle NUMA sprzętu przydziela pamięć, Menedżer pamięci z SQL Server próbuje przydzielić pamięci z pamięci, skojarzony węzeł NUMA miejscowości odniesienia.Podobnie pula buforów stron są rozproszone w węzły NUMA sprzętu.Jest bardziej wydajny wątek pamięci ze strona buforu przydzielonej pamięci lokalnej od niego dostęp z obcej pamięci.Aby uzyskać więcej informacji, zobacz Rozrastania i zmniejszania puli buforów w obszarze NUMA.

Każdy węzeł NUMA (sprzęt NUMA lub soft NUMA) ma skojarzony portu zakończenia We/Wy, używany do obsługi sieci We/Wy.Dzięki temu podzielić obsługi sieciowe We/Wy na wiele portów.Po nawiązaniu połączenia klient z SQL Server, jest on związany z jednym z węzłów.Wszystkie żądania partia z tego klient będą przetwarzane w tym węźle.

Każdy czas wystąpienia SQL Server jest uruchomiona w środowisku NUMA dziennik błędów SQL zawiera komunikaty informacyjne opisujące konfiguracja NUMA.

Sposobu mapowania przez program SQL Server węzły Soft NUMA węzły NUMA sprzętu

Miękki NUMA jest zdefiniowany tylko raz dla wszystkich SQL Server wystąpień na komputerze, tak wiele wystąpień Aparat baz danych Wszystkie Zobacz samego węzły NUMA miękkich.Każde wystąpienie Aparat baz danych , a następnie używa opcję maski koligacji zaznacz odpowiednie procesorów.Każde wystąpienie zostanie użyty niezależnie od węzły NUMA miękkie są skojarzone z tych procesorów.

Podczas uruchamiania systemu Windows przydziela pamięć systemu operacyjnego z węzła 0 sprzętu.W związku z tym sprzętu węzła 0 ma mniej pamięci lokalnej dostępne dla innych aplikacji niż inne węzły.Ten problem jest accentuated po pamięć podręczna (cache) plików dużej ilości pamięci.Po SQL Server jest uruchamiany na komputerze z więcej niż jednym węzeł NUMA, próbuje uruchomić na węzeł NUMA innych niż węzeł 0 tak, aby jego struktury globalnych można przydzielić pamięci lokalnej.Aby skonfigurować NUMA miękka, zobacz Jak Konfigurowanie programu SQL Server do używania Soft NUMA.

Sposób przypisywania połączeń węzły NUMA

TCP i VIA można affinitize połączenia z jednego lub więcej określonych węzłów NUMA.Gdy nie affinitized lub podczas łączenia się z potoków nazwanych lub współużytkowane pamięci połączenia są rozdzielane węzły NUMA na zasadzie rotacji.W węzeł NUMA, połączenie jest uruchamiana na najmniej załadowany harmonogram, w tym węźle.Ze względu na charakter round-robin przypisywania nowych połączeń jest możliwe, że wszystkie procesory w węźle są zajęte, gdy inny węzeł jest bezczynny.Jeśli masz bardzo niewiele procesorów (na przykład 2) i jeśli dużej nierównowagi planowania z powodu długotrwałego partie takie jak ładowanie zbiorcze, lepszą wydajność może być wyłączenie NUMA.Aby uzyskać więcej informacji, zobacz Jak Mapowania portów TCP/IP węzły NUMA.

Ograniczenia wersji programu SQL Server

SQL Server 2000 za pomocą dodatku Service Pack 3 nie ma specjalnego wsparcia NUMA; dodatek Service Pack 4 ma jednak pewne ograniczone optymalizacje NUMA.SQL Server 2005ma wiele znaczących usprawnień i użytkownicy NUMA są zdecydowanie zaleca się uaktualnienie do SQL Server 2005 do wykorzystania zalet architektury NUMA.