Quand l’économie d’énergie dans le bios ne fait pas bon ménage avec les performances de SQL Server

Il y a quelques temps j’avais écrit un billet sur les power plans de Windows et l’impact que cela pouvait avoir sur SQL Server. Il y a quelques temps j’ai pu l’observer chez un de mes clients qui souffraient de problèmes de performances de requêtes après avoir acheté un nouveau serveur. Voici ce que nous avons pu voir en comparant deux configurations serveurs différentes.

Je précise que seule la configuration des processeurs nous intéresse ici car les performances des requêtes ne dépendaient pas d’un manque de mémoire (l’ensemble de la base tenait en mémoire avec 130Go de mémoire totale et 10Go de données) ou des performances disques.  Les plans d’exécutions utilisés après analyse étaient strictement les mêmes. Cependant une différence au niveau du temps CPU a été relevé (après avoir utilisé les options de statistiques SET STATISTICS IO et SET STATISTICS TIME) Une requête de référence ayant été prise pour comparaison voici les résultats de temps d’exécution sur chaque serveur (en désactivant le parallélisme) :

Serveurs Processeurs Temps CPU requête
Serveur 1 Processeurs Intel Xeon X7460 @2.66GHz 12344 ms
Serveur 2 Processeurs Intel Xeon X7560 @2.27Ghz 21892 ms

En regardant sur le site du constructeur on peut vite remarquer qu’à priori les processeurs (Intel Xeon X7560) devraient donner des résultats au moins similaires aux processeurs (Intel X7460) voir plus (en utilisant l’outil de comparaison du site).

image

image

Le temps CPU multiplié pratiquement par deux m’a donc incité à utiliser l’outil CPU-Z pour voir les caractéristiques réelles des processeurs sur chaque serveur.

 

icon_arrow Sur le serveur 1 : Intel Xeon X7460 @ 2.66Ghz

image

 

icon_arrow[4] Sur le serveur 2 : Intel Xeon X7560 @ 2.27Ghz

image

On remarque rapidement que la vitesse réelle des processeurs n’est pas celle annoncée sur les spécifications du constructeur pour le serveur 2. Le ratio est donc de 2.27Ghz / 1.064Ghz soit environ 2. Curieusement on observe le même ratio entre la vitesse des requêtes et la vitesse des processeurs. La modification des power plans pour les performances n’avait visiblement rien changé. Après avoir investigué dans le BIOS on a pu voir que les options d’économies étaient activés. Après avoir réglé ce souci nous nous sommes retrouvés sur des temps d’exécutions plus bas pour le serveur 2 (de l’ordre de 10 000 ms). Enjoy !!

David BARBARIN (Mikedavem)
MVP SQL Server

Laisser un commentaire