Trois questions vous attendent, maîtres DBA de l'univers:
- Je sais qu'il est préférable de définir la mémoire maximale de SQL Server. Donc, si un serveur avec 44 Go de RAM a installé SQL Server, nous devons définir la mémoire maximale de SQL Server à environ 37 Go.
Mais que devons-nous définir si SQL Analysis Service et SQL Reporting Services sont installés sur le même serveur que SQL Server? Est-il alors préférable de définir la mémoire maximale de SQL Server à 22 Go de RAM pour que l'analyse puisse prendre les 22 Go de RAM restants?
- Sur un serveur exécutant SQL Server avec 44 Go de RAM, quelle est la meilleure pratique pour définir la taille du fichier d'échange? J'ai lu sur Brent Ozar ( http://www.brentozar.com/archive/2014/06/sql-server-setup-checklist-free-ebook-download/ ) ce qui suit:
SQL Server n'a pas besoin d'un fichier de page géant. si vous installez d'autres applications sur le serveur (ce que nous déconseillons - SQL Server doit être isolé). vous aurez peut-être besoin d'un fichier de page plus grand. Si SQL Server est le seul service majeur exécuté sur la boîte, nous créons généralement un fichier d'échange de 2 Go sur le lecteur système.
Microsoft dit que nous devrions définir un système de fichiers de page géré à 1,5 fois la RAM, ce qui correspond aux conseils donnés par Remus (voir -> http://rusanu.com/2009/11/22/system-pagefile-size-on-machines-with -grand-ram / ).
Ainsi, sur notre serveur avec 44 Go de RAM, nous avons installé SQL Server à côté de SQL Analysis Service et SQL Reporting Services. Quelle taille devons-nous définir le fichier d'échange?
- Pour SharePoint, le serveur SQL qui fait partie de la batterie de serveurs de SharePoint et où SharePoint stocke ses bases de données, le degré de parallélisme maximal doit être défini sur 1. Maintenant que nous avons un serveur qui ne fait pas partie de la batterie de serveurs SharePoint (appelez-le sql2) sur ce serveur, nous avons installé SQL Server, SQL Analysis and Reporting. SharePoint ne stocke pas ses bases de données sur ce serveur, mais nous avons créé des bases de données / cubes de création de rapports et d'analyse que SharePoint lit et écrit.
Brent Ozar dit:
Règle générale: définissez ce paramètre sur le nombre de cœurs physiques dans un seul noeud NUMA (processeur) de sockets sur votre matériel ou moins
Que devrions-nous configurer sur cette instance SQL Server pour un degré de parallélisme maximal lorsqu'elle dispose de 4 VCPU?
J'espère que vous donnez non seulement moi mais plus d'admins sql un peu plus de perspicacité dans les meilleures pratiques que la jungle sur les interwebs.
la source
PAGE FILE FOR SQL SERVER = 1.5 * RAM
. Est-ce que ça répond à votre question ?Bien ajouter à ce que Kin a déjà mentionné, je vous suggère d'utiliser
Perfmon Counters
pour calculer quelle devrait être la taille de votre fichier de page. J'accepte également la recommandation de Remus selon laquelle le fichier d'échange devrait être 1,5 fois la RAM du système . Mais cette recommandation considère tous les aspects et scénarios possibles et la «recommandation générale». Je suppose que vous êtes plus intéressé par la valeur concrète. Alors voilàLes besoins en fichiers d'échange d'un système individuel varient en fonction du rôle du serveur, de la charge, etc. Il existe certains compteurs de performances que vous pouvez utiliser pour surveiller l'utilisation de la mémoire privée validée à l'échelle du système ou par fichier de pages. Il n'existe aucun moyen de déterminer la quantité de mémoire privée engagée d'un processus résidant et la quantité paginée vers les fichiers de pagination.
Mémoire: octets validés: nombre d'octets de mémoire virtuelle qui ont été validés. Cela ne représente pas nécessairement l'utilisation du fichier d'échange - cela représente la quantité d'espace du fichier d'échange qui serait utilisée si le processus était complètement non résident.
Mémoire: limite de validation: nombre d'octets de mémoire virtuelle pouvant être validés sans avoir à étendre les fichiers de pagination.
Fichier de pagination:% d'utilisation Pourcentage du fichier de pagination validé
Fichier de pagination:% d'utilisation maximale Pourcentage le plus élevé du fichier de pagination engagé
Veuillez utiliser les compteurs ci-dessus pour définir la valeur appropriée pour le fichier d'échange. Vous pouvez lire ce lien pour obtenir plus d'informations sur le fichier d'échange.
Non, je ne pense pas que vous ayez manqué les exigences du système d'exploitation ici. Vous devez d'abord définir la mémoire de serveur maximale optimale pour SQl Server. Ce thread SE contient plus de détails sur la définition de la valeur de mémoire max du serveur correcte. Encore une fois, je réponds fortement et toujours sur les compteurs de perfmon pour voir ce qui serait une valeur optimale. Je vous suggère de lire cet article et de prendre l'aide des compteurs pour définir la valeur optimale pour SSAS. J'ai déjà utilisé ce blog pour définir la valeur de la mémoire pour SSAS. Je ne suis pas tellement dans SSAS donc mes commentaires se limiteront à cet article uniquement.
Vous devez conserver MAXDOP = 1 pour les instances Sharepoint son paramètre largement accepté. Si l'IIRC la recommandation est devenue largement acceptée après de fréquents blocages ont été rencontrés lorsque le degré maximal de parallélisme a été laissé à la valeur par défaut
la source
Toutes les autres réponses données jusqu'ici pour la référence de taille de fichier de page sont des articles relativement obsolètes. Ce billet Technet Blog est plus à jour (octobre 2015) et donne un moyen plus détaillé de calculer la taille idéale du fichier d'échange sur les systèmes modernes.
Ils indiquent clairement que l'ancienne règle empirique de 1,5 x RAM ne s'applique plus.
J'ai collé le contenu principal de cet article ci-dessous pour éviter la pourriture des liens.
Notez qu'ils recommandent de collecter des métriques de votre serveur fonctionnant à pleine utilisation pendant au moins 1 semaine - donc aux étapes de planification et de mise en œuvre de vos projets, vous ne serez peut-être pas en mesure de le faire et devrez prendre du temps plus tard dans votre projet faire cela.
Lors du dimensionnement du fichier d'échange, nous devons tenir compte des besoins en mémoire de nos applications et des paramètres de vidage sur incident.
Comment savez-vous la quantité de mémoire dont votre application a besoin? La meilleure façon est de prendre une référence.
Remarque: assurez-vous de collecter les informations sur une longue période (une semaine au moins), et le serveur fonctionne à pleine utilisation.
La formule de taille du fichier d'échange doit être:
(Valeur maximale des octets validés + tampon supplémentaire de 20% pour prendre en charge toutes les salves de charge de travail) -Taille RAM
Par exemple: si le serveur a 24 Go de RAM et que le maximum d'octets validés est de 26 Go, le fichier d'échange recommandé sera: (26 * 1.2) -24) = 7,2 Go
Qu'en est-il du deuxième facteur: la taille dont nous avons besoin pour enregistrer les informations lorsque le système plante?
La taille du vidage de mémoire est déterminée par son type:
Dans la plupart des cas, le vidage de la mémoire du noyau est suffisamment bon pour l'analyse des causes profondes, car le vidage complet de la mémoire n'est requis que dans des cas spécifiques, par exemple, vous voulez voir ce qui s'est passé en mode utilisateur.
D'après mon expérience, la taille du vidage de mémoire du noyau est généralement la suivante:
Cependant, ces chiffres ne sont PAS une recommandation officielle de Microsoft et peuvent être différents sur vos serveurs, alors testez toujours avant de postuler.
la source
Répondant depuis que je suis l'une des personnes que vous citez, hé.
1. À quoi dois-je définir la mémoire maximale lorsque j'exécute également Analysis Services?
Vous ne trouverez pas de conseils là-bas, car SSAS est comme n'importe quelle autre application installée sur votre SQL Server: nous ne savons tout simplement pas combien de mémoire vous allez utiliser. Traitez SSAS / SSIS / SSRS comme des applications tierces - elles se trouvent juste être incluses comme "gratuites" dans la boîte SQL Server. Ils ont des besoins de CPU, de mémoire et de stockage totalement différents.
2. À quoi dois-je définir la taille du fichier d'échange?
Mes recommandations sont pour que Windows puisse faire un mini-vidage. Si vous rencontrez un problème où vous devez appeler le support Microsoft, vous pouvez commencer par le mini-vidage. Si le problème se reproduit et qu'ils ne peuvent pas le découvrir à partir du mini-vidage (ou d'autres sources d'informations, comme le journal des erreurs), ils peuvent vous demander de passer à une taille de RAM 1,5x.
Les recommandations de 1,5x RAM de Microsoft sont pour que Windows puisse effectuer un vidage complet de la mémoire lorsque votre système se bloque.
De nos jours, avec des serveurs ayant 64-128-256 Go de RAM, ce n'est généralement pas une bonne idée de faire une pause Windows pour écrire tout le contenu de la mémoire lors d'un crash. Vous préférez que SQL Server soit de nouveau opérationnel et vous occupiez du contenu du mini-vidage plutôt que du contenu complet. Enregistrez les vidages complets pour plus tard - vous pouvez généralement poursuivre toute votre carrière sans avoir à télécharger un fichier de vidage de 64 + Go sur Microsoft. (Bonne chance sur celui-là.)
3. À quoi dois-je définir MAXDOP pour SharePoint?
Ce que vous appelez «mes» recommandations provient de Microsoft KB 2806535 . Commencez par là en général, mais lorsqu'une application spécifique vous dit quelque chose de différent, alors ils savent quelque chose sur leur application qui est différent de SQL Server en général - suivez cela.
la source