Objawy
W środowiskach NUMA w programie Microsoft SQL Server występuje co najmniej jeden z następujących problemów z wydajnością:
- W procesie programu SQL Server występuje nadmierne zużycie procesora.
- Wykonywanie zapytań zajmuje dużo czasu.
- W zadaniach aplikacji lub agenta programu SQL Server występują przekroczenia limitu czasu zapytań lub limitu czasu połączenia.
- Proces programu SQL Server jest uruchamiany ponownie przez usługę klastrowania.
Ponadto mogą wystąpić następujące objawy:
- Podwyższone wartości dla typu SOS_PHYS_PAGE_CACHE oczekiwania podczas kwerendy sys.dm_os_wait_stats dynamicznego widoku zarządzania (DMV)
- Podwyższone wartości dla typu oczekiwania CMEMTHREAD i SOS_SUSPEND_QUEUE spinlock podczas wykonywania zapytań dotyczących sys.dm_os_spinlock_stats DMV
Rozwiązanie
Informacje o aktualizacji zbiorczej
Ten problem został po raz pierwszy rozwiązany w następującej aktualizacji zbiorczej programu SQL Server.
Zbiorcza aktualizacja 2 dla systemu SQL Server 2014 /pl-pl/pomoc/2967546
Aktualizacja zbiorcza 1 dla systemu SQL Server 2014 /pl-pl/pomoc/2931693
Aktualizacja skumulowana 9 dla SQL Server 2012 z dodatkiem Service Pack 1 /en-us/help/2931078
Informacje o aktualizacjach zbiorczych dla programu SQL Server
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP1
Informacje o poprawkach
Obsługiwana poprawka jest dostępna w firmie Microsoft. Jednak ta poprawka ma na celu rozwiązanie tylko problemu opisanego w tym artykule. Tę poprawkę należy stosować tylko do systemów, w których występuje ten konkretny problem.
Jeśli poprawka jest dostępna do pobrania, u góry tego artykułu z bazy wiedzy znajduje się sekcja "Dostępne do pobrania poprawki". Jeśli ta sekcja nie zostanie wyświetlona, prześlij zgłoszenie do działu pomocy technicznej i pomocy technicznej firmy Microsoft w celu uzyskania poprawki.
Uwaga Jeśli wystąpią dodatkowe problemy lub wymagane jest rozwiązanie problemu, może być konieczne utworzenie osobnego zgłoszenia serwisowego. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań i problemów, które nie kwalifikują się do objęcia tą poprawką. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta i pomocy technicznej firmy Microsoft lub utworzyć oddzielne żądanie obsługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:
/contactus/?ws=support Uwaga: Formularz "Dostępne do pobrania poprawki" zawiera języki, dla których poprawka jest dostępna. Jeśli nie widzisz odpowiedniego języka, oznacza to, że nie ma dla niego dostępnej poprawki.
Uwaga: Ta poprawka jest zalecana dla każdego wystąpienia programu SQL Server zainstalowanego w systemie NUMA niezależnie od ustawień maski koligacji programu SQL Server. Ta poprawka rozwiązuje problem wąskiego gardła wydajności przetwarzania z dala od komputera w menedżerze pamięci programu SQL Server.
Ten problem został po raz pierwszy rozwiązany w następującej aktualizacji zbiorczej programu SQL Server.
Obejście
Aby obejść te problemy, zwiększ wartości limitów czasu logowania i zapytań dla aplikacji.
Uwaga Działanie tego obejścia może być ograniczone. Zalecane jest stosowanie poprawki w celu rozwiązania problemów opisanych w sekcji "Objawy".
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Gdy menedżer pamięci programu Microsoft SQL Server przydziela pamięć węźle w środowiskach z obsługą niejednolitego dostępu do pamięci (NUMA), system Windows może przydzielić pamięć zarówno z węzłów lokalnych, jak i zdalnych (określanych jako strony "z dala od komputera") do momentu osiągnięcia żądanego elementu docelowego dla każdego węzła. Ponieważ te "strony z dala od komputera" nie są idealne z punktu widzenia wydajności, proces programu SQL Server próbuje przypisać bufory nieobecności do odpowiedniego węzła pamięci lub zwolnić te strony z powrotem do systemu operacyjnego. To "przetwarzanie AWAY" może obciążać procesor i prowadzić do zmniejszenia szybkości wsadu w okresie zwiększonego użycia procesora.
Źródła informacji
Aby uzyskać więcej informacji na temat rozumienia pojęcia stron obcych, odwiedź następującą witrynę z wpisami w blogu MSDN w sieci Web:
Jak to działa: SQL Server (bloki pamięci NUMA lokalne, obce i z dala od komputera)