J'ai installé 2 instances de SQL Server plus SSIS sur le serveur suivant.
Notez la quantité de RAM est près de 384 Go
Et ce sont les paramètres de mémoire max et min que j'ai appliqués à mes 2 instances. Je suppose que les deux instances utiliseront une quantité égale de ressources, si tel est vraiment le cas, 184 320 Mo, soit 180 Go, est un bon nombre de départ pour configurer ma mémoire?
Quelle quantité de mémoire dois-je allouer à SSIS?
(À partir de la capture d'écran) Je vois une configuration inhabituelle dans laquelle la mémoire Min et Max de SQL Server est la même. Laissez la mémoire minimale par défaut. Voir ma réponse à SQL Server Min Server Memory .
Pour déterminer la mémoire idéale, consultez - Comment déterminer la mémoire idéale par exemple? et Configuration de la mémoire maximale et minimale de SQL Server
Nous avons des packages exécutant SSIS sur nos serveurs de production et ils ne causent pratiquement aucun problème de mémoire. Je laisse juste assez de mémoire pour le système d'exploitation, car DTExec.exe
est un processus externe à sqlserver.exe
et ses besoins en mémoire ne seront donc pas inclus dans la mémoire MAX. De plus, SSIS est conçu pour traiter de grandes quantités de données ligne par ligne en mémoire à grande vitesse.
Si vous pensez qu'il existe des packages SSIS qui fonctionnent pendant des heures, je vous suggère de surveiller ci-dessous Compteurs de performances SSIS :
Buffers in use
Flat buffers in use
Private buffers in use
Buffers spooled
Rows read
Rows written
et parmi les 10 meilleures pratiques des services d'intégration SQL Server - Équipe SQL CAT
Processus/octets privés (DTEXEC.exe): La quantité de mémoire actuellement utilisée par Integration Services. Cette mémoire ne peut pas être partagée avec d'autres processus.
Processus/ensemble de travail (DTEXEC.exe): Quantité totale de mémoire allouée par Integration Services.
Ancien mais toujours pertinent: Integration Services: Techniques de réglage des performances
De combien de mémoire SSIS a-t-il besoin? (La vraie réponse est: Cela dépend .)
Cependant, Jonathan Kehayias a une formule qui est assez bonne, du moins je pense, car elle fonctionne très bien pour moi.
https://www.sqlskills.com/blogs/jonathan/how-much-memory-does-my-sql-server-actually-need/
La formule simple pour réserver de l'espace pour des besoins autres que SQL Server dans Windows est la suivante:
Commencez avec 1 Go, plus 1 Go pour chaque 4 Go de la machine entre 4 et 16 Go, plus 1 Go pour chaque 8 Go de la machine au-dessus de 16 Go.
Après cela, vous devez effectuer une surveillance pour déterminer si vous avez besoin de plus ou moins de mémoire pour vos packages SSIS. C'est la partie dont elle dépend de votre planification d'utilisation de la mémoire. Si vous voyez un problème avec vos processus SSIS, vous devez déterminer si davantage de mémoire est nécessaire.
Étant donné que vous avez deux instances sur le même serveur, cela nécessitera probablement un réglage supplémentaire.