SharePoint 2013: Limiter l'allocation mémoire de SQL Server (fr-FR)
J'ai vu plusieurs fois des développeurs se plaindre des performances de leur environnement de développement SharePoint. Comme ils ont une installation "standalone" de SharePoint sur leur machine virtuelle de développement, ils se plaignent toujours que leur machine est trop lente.
Ce n'est pas seulement le cas pour les environnements de développement, même pour les environnement SharePoint de test, d'intégration et de production, nous nous plaignons toujours du manque de performance de SharePoint. Mais attendez un peu, le problème n'est pas que SharePoint, il pourrait y avoir d'autres facteurs qui pourraient causer des problèmes de performance. Et un de ces facteurs est un paramètre par défaut de SQL Server. Dans cet article je ne vais pas aborder tous les autres facteurs, mais je vais mettre l'accent sur un paramètre rapide à modifier et très important, qui peut vous faire améliorer les performances de votre environnement SharePoint.
SQL Server est celui qui dévore à lui seul toute la mémoire, car par défaut, il lui est donné la possibilité de consommer toute la mémoire du serveur. Par défaut, SQL Server est défini pour utiliser 2 To de RAM maximum. Vous ne pouvez pas avoir 2 To de RAM dans votre environnement, vous pouvez avoir 8 Go, 16 Go, 32 Go ou plus en fonction de votre ferme et de la taille de l'installation de SharePoint. Alors, que se passera-t-il si SQL Server est libre de prendre jusqu'à 2 To de RAM, toutes les fois où il aura à traiter une opération, il essayera de consommer autant qu'il peut consommer. Que va-t-il advenir de l'OS et des autres processus que vous avez en cours d'exécution sur le serveur, ils ont aussi besoin d'un peu de mémoire, ils ont également du travail à faire. Donc voici ce que vous pouvez faire pour limiter la taille de la mémoire de SQL Server et dites-lui bien qu'il n'est pas seul, qu'il y en a d'autres qui ont également d'un peu de mémoire. À la fin, vous devez vous assurer que SQL Server et votre serveur ne font pas la course à la mémoire, car cela provoque de mauvaises performances sur le serveur.
Permettez-moi de vous montrer tout d'abord le paramètre dans SQL Server, où il est configuré pour consommer au maximum 2 To de RAM.
1) Connectez-vous à SQL Server Studio, cliquez-droit sur votre serveur de base de données et cliquez sur Propriétés, comme sur la capture d'écran ci-dessous
2) Cliquez sur l'onglet mémoire et regardez la taille de la mémoire par défaut mise en évidence en capture d'écran ci-dessous
Vous pouvez donc limiter la mémoire de SQL Server en faisant le calcul suivant, pour déterminer la taille de la mémoire de toutes les instances de SQL Server :
SQL Max Memory = TotalPhysicalMemory - (NumberOfSQLThreads * ThreadStackSize)-(1 Go * CEILING(NumberOfCores/4))
NumberOfSQLThreads = 256 + (NumberOfProcessors * - 4) * 8 (* NumberOfProcessors si > 4, sinon 0)
ThreadStackSize = 2 X 64 ou 4 Mo sur 64 bits (IA64)
Je comprends que ce n'est pas si facile de mettre toutes les valeurs ci-dessus dans une formule et d'obtenir votre taille de mémoire de SQL Server, mais si vous faites cet exercice, je suis sûr que vous verrez un gain de performances dans votre environnement SharePoint.
Remarque : La formule ci-dessus vous donnera la taille de la mémoire pour toutes les instances de SQL Server, donc si vous avez plusieurs instances de SQL Server vous devrez diviser un peu plus la mémoire à distribuer à chacune des instances.
Depuis SQL Server 2008 R2, si vous avez une seule instance de SQL Server, vous n'avez à faire tout ce calcul, car SQL Server calcule dynamiquement la quantité de mémoire à allouer, basée sur combien les autres processus et l'OS ont besoin de mémoire.
Autres langues disponibles
Cet article est également disponible dans les langues suivantes :