Accéder au contenu principal

SQL Server : Astuces pour améliorer les performances - Operating System

 Suite à l’Audit SQL RAP fourni par un consultant de Microsoft, de nombreuses astuces de configuration ont été données. Je pense que ces différentes astuces sont utiles à tous.

Je vais donc essayer, à travers une suite de plusieurs messages, vous lister ces astuces. Ce premier message aura trait à un ensemble de paramètres liés à Windows.


Configurations de Windows


Mémoire virtuelle (Page File)

La taille de la mémoire virtuelle doit être fixée selon la règle suivante :

Pour définir ce paramètre, il faut aller dans les propriétés de Windows et choisir l’onglet “Advanced”, puis cliquer sur le bouton “Settings” de Performance :


Il faut alors savoir la taille de la RAM de votre serveur et avoir de la place disponible sur une partition (disque) de votre serveur (cela peut rester sur le C).

Dans cet écrand es performances, il faut choisir l’onglet “Advanced” et cliquer sur “Change” de la partie Virtual Memory :


On fixe alors la taille selon le calcul précédent et fixe (même valeur max et min). On valide par OK et reboot le serveur si besoin.


Une fois la machine redémarrée, un fichier “pagefile.sys” sera présent à la racine de la partition choisie avec la taille définie précédemment.



Power Options de Windows

Sous Windows, il est possible de définir des options de performance, qui sont utiles pour limiter la consommation d’énergie. Le fait est que pour SQL Server, cela n’a pas de sens, car il s’agit d’un service qui doit être toujours au top des performances. Il faut donc modifier ce paramètre sur toutes les machines SQL Server.

Pour cela, il faut aller dans le panneau de configuration, et choisir “Power Options” :


De base, lors d’une installation classique de Windows 2008 R2, on trouve le paramètre choisi avec la valeur “Balanced” :


Il faut donc cliquer sur le lien au bas de la fenêtre “Change settings that are currently unavailable” et choisir “High Performance”



Paramètres réseau

Il ne faut jamais désactiver le protocole IPV6 des machines même si vous n’utiliser qu’IPV4 dans votre réseau.


Windows 2008 R2 utilise ce protocole en interne pour son fonctionnement :

Il faut ensuite désactiver l’utilisation de LMHOST Lookup (sous IPV4) pour un serveur SQL Server dédié (sauf contre-indication spécifique). Pour cela il faut aller dans les propriété d’IPV4 et cliquer sur Advanced, puis dans l’onglet WINS, on décoche la case :


Le serveur évitera alors de vérifier continuellement le fichier hosts présent dans System32 :

  • C:\Windows\System32\drivers\etc\hosts


Il faut aussi contrôler les paramètres des cartes réseau, car il existe parfois des options de performance/power options qui peuvent être comme pour Windows.


Configuration des Disques

Que l’on soit sur du Virtuel ou physique, la règle de base pour la configuration d’une machine SQL Server reste la même. Il faut toujours 4 partitions / Disques / LUN, si possible sur des connecteurs différents (même si ce n’est pas toujours possible).

Le nombre de ces partitions est simple, puisqu’il correspond à :

  • SYSTEM : 100 GB est une base correcte avec les machines actuelles)
  • DATA : la taille dépend de vos contenus
  • LOGS : en rapport avec le contenu, puisque la taille des logs varie suivant le volume de contenu qui est modifié par l’application (Ajout, suppression, changement)
  • TEMPDB : La base temporaire doit toujours être sur une LUN à part du reste.

La taille de la partition pour la base TEMPDB dépend de la taille de cette base. Elle représente 10 % de la somme de toutes les Bases de données hébergées sur l’instance en cours.

De ce fait, si vous avez un total estimé pour l’ensemble de vos Databases d’1 TB, vous pouvez fixer votre LUN TempDB à 150 GB.


Mise à jour de Windows

Cette question a été aprement discutée avec le consultant, surtout suite au nombre de problèmes rencontrés suite à l’installation de Patches et Service Packs.

Mais au final, un accord a été trouvé sur la stratégie suivante :

  • Installation de tous les patches de Sécurité (High Critical) de Windows : après une semaine de publication
  • Installation du dernier Service Pack de Windows : 1 mois après sa sortie
  • Installation du dernier Service Pack de SQL Server : 1 mois après sa sortie
  • Pas d’installation de Cumulative Update Pack (sauf si nécessaire pour cas particulier)

Attention, cette stratégie est la mienne propre et n’engage ni Microsoft, ni moi ou mon entreprise en cas de soucis. Ceci doit être défini dans votre propre structure selon votre criticité.


Conclusion

Ce premier message, nous avons vu comment faire un tuning de certains paramètres de Windows afin de bénéficier d’une configuration idéale pour le moteur SQL Server. Nous verrons dans de prochains messages comment améliorer les performances en modifiant les paramètres du moteur SQL Server lui-même.

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Redonner vie à une Microsoft Surface RT : le guide ultime vers Linux !

Vous avez une vieille Microsoft Surface RT qui traîne dans un tiroir ? Vous savez, cette tablette de 2012 devenue inutilisable depuis l'abandon officiel de Windows RT par Microsoft ? Ne la jetez surtout pas ! Dans ma dernière vidéo, je vous montre comment transformer cet appareil, autrefois considéré comme un "presse-papier", en une tablette Linux moderne et parfaitement fonctionnelle . Pourquoi ce projet ? L'objectif est simple : transformer ce matériel pour en faire un dashboard dédié à mon système Home Assistant. En installant postmarketOS , une version de Linux spécialement conçue pour les appareils ARM abandonnés, on redonne une seconde jeunesse à cette machine . Ce que vous allez apprendre dans ce tutoriel complet : La libération du matériel : Comment réinstaller la version d'origine pour passer outre les blocages de Windows 8.1 . Jailbreak & Secure Boot : La procédure indispensable pour déverrouiller la machine et permettre l'installation d...

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Mixer les batteries Enphase et Zendure : La solution ultime pour l'autoconsommation ?

Introduction Vous avez déjà une installation solaire équipée de micro-onduleurs Enphase , mais vous trouvez que le stockage officiel de la marque est trop coûteux ou difficile à installer en DIY ? Vous n'êtes pas seul. Aujourd'hui, je vous partage mon retour d'expérience complet sur une configuration qui intrigue beaucoup de monde : le couplage d'un système Zendure SolarFlow avec un environnement Enphase existant. Pourquoi vouloir mixer ces deux marques ? Le système Enphase est une référence en termes de fiabilité, mais l'ajout de batteries IQ Battery peut représenter un investissement lourd. À l'inverse, Zendure propose avec le SolarFlow une solution de stockage plug-and-play extrêmement flexible et souvent plus abordable. L'idée est simple : utiliser le SolarFlow comme "tampon" entre vos panneaux et vos micro-onduleurs pour stocker l'excédent de la journée et le réinjecter la nuit. Le montage : Est-ce vraiment compliqué ? Dans ma dernière ...