[ad_1]
Salut,
Un client dispose d’un serveur (Windows Server 2019 avec 55 Go de mémoire) avec deux instances de SQLServer (SS 2019 Standard edition), une pour la production, une pour les tests. L’instance de production SQLServer finit par occuper presque toute la mémoire disponible en fin de compte. L’instance de test ne dispose pas de suffisamment de mémoire si vous devez exécuter des tests le soir.
Merci
Ce que j’ai essayé :
Il paraît que Détection de pression mémoire[^] ne semble pas fonctionner correctement sur ce serveur. Comment puis-je surveiller et réguler son comportement ? En laissant de côté le comportement de l’environnement de test, il peut également y avoir d’autres processus qui nécessitent de la mémoire et que SQL Server doit laisser agir comme prévu.
Solution 1
Une meilleure solution consiste à déplacer l’instance de test vers un serveur distinct : de cette façon, il y a moins de risques d'”interactions” où le logiciel testé affecte la base de données de production. N’oubliez pas que si le serveur de production utilise autant de mémoire, c’est pour une raison : toute autre charge que vous ajoutez à ce serveur aura probablement un effet sur les temps de réponse de la production.
Une séparation physique évite que vos erreurs n’aient un impact sur la production (et présente l’avantage d’une « machine de rechange » sur laquelle vous pouvez recourir en cas de problème matériel avec le serveur de production).
Solution 2
La solution de Griff est la bonne. Quand on y pense, SQL Server n’est pas comme les autres applications serveur classiques conçues pour libérer de la mémoire. SQL Server est conçu pour être performant et pour traiter le serveur comme son propre terrain de jeu pour récupérer les ressources nécessaires. Il le fait pour une très bonne raison ; s’il peut extraire des informations (telles que des pages de données) d’un cache en mémoire, cela est beaucoup plus rapide que de les lire à partir du disque. Si vous pouviez d’une manière ou d’une autre forcer SQL Server à vider cette mémoire, vous le forcez à reconstruire les caches sur une période de temps, ce qui entraînerait des requêtes plus lentes.
N’essayez pas d’utiliser SQL Server d’une manière pour laquelle il n’est pas prévu. Utilisez-le pour ses points forts et permettez-lui de faire ce qu’il sait faire. Laissez votre base de données de production occuper autant de mémoire que possible avec des données de qualité et à accès rapide.
[ad_2]
コメント