Optimisation des performances du serveur à l'aide des options de configuration de la mémoire

Le composant Microsoft SQL Server 2005 de gestion de la mémoire élimine toute gestion manuelle de la mémoire disponible dans SQL Server. Au démarrage de SQL Server, celui-ci détermine dynamiquement la quantité de mémoire à affecter d'après le volume de mémoire déjà mobilisé par le système d'exploitation et les autres applications. La mémoire est affectée au fur et à mesure des modifications de la charge de l'ordinateur et de SQL Server. Pour plus d'informations, consultez Architecture de la mémoire.

Les options de configuration du serveur suivantes peuvent être utilisées pour configurer l'utilisation de la mémoire et modifier les performances du serveur :

  • min server memory
  • max server memory
  • max worker threads
  • index create memory
  • min memory per query

L'option de configuration du serveur min server memory peut s'utiliser pour garantir que SQL Server ne libère pas de mémoire au-dessous du seuil configuré pour le serveur. Il est possible de paramétrer cette option avec une valeur spécifique en fonction de la taille et de l'activité de votre serveur SQL Server. Si vous choisissez de configurer cette valeur, affectez-lui une valeur raisonnable de façon à vous assurer que le système d'exploitation ne nécessite pas trop de mémoire au détriment de SQL Server, ce qui peut nuire aux performances de SQL Server.

Utilisez l'option max server memory pour indiquer la quantité maximale de mémoire que peut allouer SQL Server à son démarrage et pendant son fonctionnement. Il est possible de définir cette option avec une valeur spécifique si vous savez que plusieurs applications fonctionnent en même temps que SQL Server et si vous souhaitez garantir suffisamment de mémoire pour le fonctionnement de ces applications. Si ces applications, comme les serveurs Web ou de messagerie électronique, ne nécessitent que ponctuellement de la mémoire, ne configurez pas l'option max server memory car SQL Server se chargera de libérer de la mémoire en fonction de leurs besoins. Cependant, les applications utilisent généralement toute la mémoire disponible au moment du démarrage et n'en demandent pas plus même en cas de besoin. Si une application qui se comporte de cette façon fonctionne sur le même ordinateur et en même temps que SQL Server, indiquez dans l'option max server memory une valeur qui garantit que la mémoire requise par l'application n'est pas allouée par SQL Server.

Lorsque vous déterminez la quantité de mémoire allouée à SQL Server, n'indiquez pas les mêmes valeurs pour min server memory et max server memory. L'affectation dynamique de mémoire permet d'obtenir les meilleures performances globales dans le temps. Pour plus d'informations, voir Options de mémoire du serveur.

Utilisez l'option max worker threads pour indiquer le nombre de threads utilisés pour prendre en charge les utilisateurs connectés à SQL Server. La valeur par défaut (255) peut s'avérer un peu trop élevée pour certaines configurations, en fonction du nombre d'utilisateurs simultanés. Comme chaque thread de travail est alloué même si il n'est pas utilisé (parce qu'il y a moins de connexions simultanées que de threads de travail), les ressources en mémoire susceptibles d'être mieux utilisées par d'autres opérations, comme le cache des tampon, peuvent rester inutilisées. Cette valeur est généralement définie en fonction du nombre de connexions simultanées, mais ne peut pas être supérieure à 32 727. Les connexions simultanées sont différentes des connexions de sessions. Le pool de threads de travail d'une instance SQL Server doit être suffisamment élevé pour servir le nombre de connexions utilisateurs qui exécutent activement les lots en même temps dans cette instance. L'augmentation du nombre de threads de travail au-delà de la valeur par défaut peut nuire aux performances du serveur. Pour plus d'informations, consultez Option max worker threads.

L'option index create memory contrôle la quantité de mémoire utilisée par les opérations de tri lors de la création des index. La création d'un index sur un système de production est une tâche peu fréquente, souvent programmée sous la forme d'un travail à exécuter pendant les heures creuses. Dans ce cas, l'augmentation de cette valeur permet d'améliorer les performances de création d'index. Mais veillez à affecter à l'option min memory per query la valeur la plus faible possible de façon à ced que la création des index puisse toujours avoir lieu même si toute la mémoire demandée n'est pas disponible. Pour plus d'informations, consultezr Option index create memory.

Utilisez l'option de configuration du serveur min memory per query pour indiquer la quantité minimale de mémoire allouée pour l'exécution d'une requête. Lorsque de nombreuses requêtes s'exécutent simultanément sur un système, une augmentation de la valeur de min memory per query peut améliorer les performances des requêtes qui utilisent intensivement la mémoire, comme les tris substantiels et les opérations de hachage. Cependant, n'affectez pas une valeur trop élevée à cette option, en particulier sur des systèmes très sollicités, car la requête devra attendre jusqu'à ce qu'elle puisse sécuriser la mémoire minimale demandée ou jusqu'à ce que la valeur spécifiée dans l'option de configuration query wait soit atteinte. S'il y a plus de mémoire disponible pour exécuter la requête que ne le demande la valeur minimale spécifiée, la requête aura l'autorisation d'utiliser la mémoire additionnelle, à condition que cette mémoire puisse être utilisée efficacement par la requête. Pour plus d'informations, consultez Option min memory per query et Option query wait.

Voir aussi

Tâches

Procédure : Définition de la mémoire minimale par requête (SQL Server Management Studio)

Concepts

Surveillance de l'utilisation de la mémoire
Effets des options de configuration « min server memory » et « max server memory »
Gestion de la mémoire pour des bases de données volumineuses

Aide et Informations

Assistance sur SQL Server 2005