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

Le composant Microsoft SQL Server 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 d'affecter une valeur spécifique à cette option de configuration si vous savez que plusieurs applications fonctionnent en même temps que SQL Server et que vous voulez garantir que ces applications disposent d'une mémoire suffisante pour s'exécuter. 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, consultez Options de mémoire du serveur.

Utilisez l'option de configuration du serveur 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 de max worker threads (0) autorise SQL Server à configurer automatiquement le nombre de threads de travail au démarrage. Ce paramètre convient à la plupart des systèmes. Cependant, selon votre configuration système, l'attribution d'une valeur spécifique à l'option max worker threads permet d'accroître les performances. Pour plus d'informations, consultez Option max worker threads.

Notes

La valeur du paramètre par défaut de l'option max worker threads dans SQL Server 2000 était 255. La mise à niveau d'une instance du moteur de base de données SQL Server 2000 vers une version plus récente conserve la valeur de configuration de l'option max worker threads. Lors d'une mise à niveau, nous vous conseillons de remplacer la valeur max worker threads de la nouvelle instance par 0, pour permettre au moteur de base de données de calculer le nombre optimal de threads.

L'option de configuration du serveur 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 de configuration min memory per query la valeur la plus faible possible de façon à ce 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, consultez 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 à l'option de configuration du serveur min memory per query , 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.