Configurer la RAM pour SQL Server et NUMA


10

Administrateur DB accidentel ici.

Question:

Souhaitez-vous toujours limiter manuellement la RAM maximale pour SQL Server même si le seul objectif de ce serveur est de servir uniquement le moteur de base de données SQL Server?

J'ai Microsoft Windows 2012 R2 Server, SQL Server 2012 Std, avec 32 Go de RAM.

L'administrateur se connecte constamment à SQL Server pour utiliser sa console et tout.

Deuxièmement, comment vérifiez-vous si ce serveur Windows est compatible NUMA?

Réponses:


9

Souhaitez-vous toujours limiter manuellement la RAM maximale pour MSSQL même si le seul but de ce serveur est de servir uniquement MSSQL?

C'est un sujet peu discutable étant donné que vous disposez de SQL Server 2012 ici. Si vous aviez posé la même question à propos de SQL Server 2005/2008, qui était sur Windows Server 2003/2008, je suggérerais fortement de définir une limite de mémoire maximale du serveur en raison de bogues qui étaient présents dans le système d'exploitation Windows (2003/2008). Mais la configuration de la mémoire et les performances du système d'exploitation ont changé considérablement depuis SQL Server 2012 et Windows Server 2008/2012 r2 respectivement, si vous me demandez mon avis, You can leave max server memory configuration to default if you have enough RAM on system and you are just using database engine features.si vous interrogez les ingénieurs MS à ce sujet, ils diront également que SQL Server est bien codé pour gérer la mémoire en lui-même et si vous avez un système dédié uniquement au moteur de base de données SQL, vous pouvez laisser la mémoire maximale du serveur SQL Server par défaut SQL Server le gérera efficacement.

Quoi qu'il en soit, si vous souhaitez toujours configurer, vous pouvez lire des questions et réponses similaires données sur ce fil SE

Il y a des situations où la mémoire maximale du serveur est requise, j'ai souligné que dans ce fil SE

Deuxièmement, comment vérifiez-vous si ce serveur Windows est compatible NUMA?

Une petite recherche vous mènerait à cet article Blogs.msdn . Il a diverses descriptions illustrées lorsque SQL Server est compatible avec NUMA et l'utilise.


2
J'aime utiliser le tableau de Brent Ozar pour une référence rapide sur les paramètres de mémoire pour les cas d'utilisation généraux.
LowlyDBA

3
C'est bien sûr une référence rapide et sert de point de départ pour une valeur. Je suis sûr que si vous lui demandez, il vous dira que vous devez examiner plus en détail les compteurs de perfmon pour atteindre une valeur optimale . C'est pourquoi j'ai ajouté un lien SE au cas où OP souhaite définir la mémoire maximale du serveur.
Shanky

2

SQL est au NUMAcourant afin que vous puissiez trouver des NUMAinformations à l'aide d'une requête. Vous pouvez également utiliser cette requête pour voir combien de NUMAnœuds vous avez et quels CPU et cœurs sont affectés à quels NUMA:

SELECT parent_node_id, scheduler_id, cpu_id
FROM sys.dm_os_schedulers WITH (NOLOCK) 
WHERE [status] = N'VISIBLE ONLINE';

Ou juste combien NUMA:

select COUNT(distinct Parent_node_id)
from sys.dm_os_schedulers
where [STATUS] = 'VISIBLE ONLINE'
    and Parent_node_ID < 64

-2

Oui, vous devez limiter la mémoire maximale pour SQL Server même si le serveur n'a qu'un seul objectif. Sinon, SQL Server peut commencer à utiliser la mémoire que Windows lui-même doit bien fonctionner. Il est habituel de laisser 1 Go -> 20% de la RAM totale à Windows, selon vos besoins.

La configuration NUMA du serveur s'affiche dans le Gestionnaire des tâches en sélectionnant un processus, cliquez avec le bouton droit et sélectionnez Définir l'affinité. Le moniteur de ressources Windows affiche également les informations NUMA.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.