Vérifier Performance SQL (Goulot Disque?)

Vérifier Performance SQL (Goulot Disque?) - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 20-11-2013 à 12:29:55    

Bonjour,
 
J'ai un ERP avec des traitements en batch.
J'ai un serveur avec 64go de RAM, double proc Intel CPU E5-2650 @ 2.00Ghz sur un system Windows 2008 R2.
 
Le serveur SQL est en version 2005 SP4 x64 (ERP oblige).
 
J'ai pris un traitement en exemple qui dure sur l'ancien serveur 2H00.
Sur ce serveur qui est bcp plus puissant, il dure 2H.  
 
La seule différence entre l'ancien serveur et le nouveau est que la base tourne sur un RAID 1 en 10KTr/min tandis que sur l'autre serveur, il est connecté en fibre optique sur une baie netapp FAS2020.
 
J'ai lancé un moniteur de performances et je voudrais être sur que le problème vient du RAID 1 et des disque en 10K tr/min mais comment le voir ?
Avez vous des conseils concernant le SQL Server ? Des paramétrages à vérifier?
 
 
 

Reply

Marsh Posté le 20-11-2013 à 12:29:55   

Reply

Marsh Posté le 20-11-2013 à 13:16:00    

regarde combien d'IOPS tu utilises pendant ton traitement...


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
Reply

Marsh Posté le 20-11-2013 à 13:56:16    

IOPS = E/S partagée/s ?

Reply

Marsh Posté le 20-11-2013 à 14:01:31    

je sais pas, je parle pas le windows [:wade:3]
 
c'est le nombre de lectures et écritures par seconde sur tes disques.


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
Reply

Marsh Posté le 20-11-2013 à 14:09:14    

Lecture disque/s :  
Echelle : 10,0
Moyenne : 0.532
 
Ecriture disque/s
Echelle : 1,0
Moyenne : 20.940
 
voilà les résultats

Reply

Marsh Posté le 20-11-2013 à 15:09:04    

tes disques ne font pas grand choses...
es-tu sûr que tu as exactement la même version de SQL Server ? (niveau de patch)
es-tu sûr d'avoir le même paramétrage SQL Server ? (nombre et tailles des fichiers tempdb, trasaction log, paramétrage spécifique comme MAXDOP, etc.)
 
tu peux essayer d'analyser les requêtes les plus longues à l'aide de SQL Profiler, mais si tu ne sais pas l'utiliser cela peut être incompréhensible et parfois dangereux

Reply

Marsh Posté le 20-11-2013 à 15:24:36    

regarde la latence de tes IOPS, la taille de la file d'attente, la config de tes HBA etc.

Reply

Marsh Posté le 20-11-2013 à 16:14:28    

Oups j'avais pas fait attention mais mon analyse n'a durée qu'1 minute... je reviens vers vous.

Reply

Marsh Posté le 21-11-2013 à 11:50:11    

Alors la batch vient d'être lancé :  
 
Comment connaître le débit théorique des disques durs :  
 
Sachant que :
-je suis en RAID 1 (pour les tests)
-2 x Disque dur Hot Plug 600Go SAS 6Gbit/s 10000tr/min 2,5
 
Le débit de disque est calculé comment?
 
EDIT :  
 
Si je regarde à l'instant T sur le moniteur de ressources :  
 
Disque 1Mo/s
Longueur de Fil de d'attente : 0.01 (disque C:)
Longueur de Fil de d'attente : 0.05 (disque G:)
 
EDIT 2 :  
 
Fin du batch  
 
Ecriture disque/s :
Echelle 0.01
Moyenne : 70.511
 
Lecture disque/s :
Echelle 0.1
Moyenne : 20.501


Message édité par PsYKrO_Fred le 21-11-2013 à 13:25:00
Reply

Marsh Posté le 21-11-2013 à 14:50:50    

http://wintelguy.com/raidperf.pl
 
il ne faut pas regarder la moyenne, mais prendre le nombre au moment du relevé : cela te permettra de constater des pics et les saturation

Reply

Marsh Posté le 21-11-2013 à 14:50:50   

Reply

Marsh Posté le 21-11-2013 à 15:18:29    

couak a écrit :

http://wintelguy.com/raidperf.pl
 
il ne faut pas regarder la moyenne, mais prendre le nombre au moment du relevé : cela te permettra de constater des pics et les saturation


 
 
bon en fait est ce que tu peux me dire comment lire ce graphique :  
Si on lit sur le graph, le pique le plus haut est : 4941
Ca veut dire quoi ? je dois multiplier par l'echelle pour avoir la valeur ? et l'unité est octet/s ?
 
 
http://imageshack.com/a/img46/5825/vwnb.jpg


Message édité par PsYKrO_Fred le 21-11-2013 à 16:43:46
Reply

Marsh Posté le 25-11-2013 à 09:01:25    

Un petit up

Reply

Marsh Posté le 27-11-2013 à 12:16:10    

Je viens de lire ceci :  
 
Disque\Moyenne des écritures et lectures disque par seconde :
< .0.005 soit 5 ms = excellent
5 à 10 ms = bon
10 à 15 ms = acceptable
> 15 ms = problème
 
Dois je prendre la moyenne * echelle pour avoir la valeur ?

Reply

Marsh Posté le 27-11-2013 à 21:51:33    

Ce que tu vois sur ton graphe, ce sont les IOPS en écriture de tes disques.
 
Sachant que tu es en RAID1 et que tu as des disques en SAS 10k, tu devrais avoir (2 x 140) / 2 = 140 IOPS en moyenne.
 
Or, ici tu as plutôt 70 IOPS en écriture en moyenne. Le 4900 n'est qu'un pic du a un effet de cache, rien d'important.
 
Si tu n'as pas les 140 IOPS attendu, je pense que cela vient probablement du fait que le cache en écriture n'est pas activé (pas de cache sur le contrôleur, cache en écriture non activé ou encore pas de batterie sur le contrôleur).
 
Ce dont tu parles ici est la latence, qui est dépendante de la techno de tes disques. L'échelle que tu indiques est appropriée a ton environnement, mais par contre ca ne correspond pas du tout à ton graphe.

Reply

Marsh Posté le 28-11-2013 à 08:54:27    

Voici les derniers relevés :
http://img5.imageshack.us/img5/2585/lbin.jpg
 
http://img17.imageshack.us/img17/5178/ejde.jpg
 
Une chose intéressante :  
Espérance de vie d'une page : moyenne 534400 avec l'échelle de 0.0001 = 53.44
 
Si j'en lis un document, cette valeur doit être suprérieur à 300.
Qu'en pensez vous ?


Message édité par PsYKrO_Fred le 28-11-2013 à 09:35:10
Reply

Marsh Posté le 28-11-2013 à 10:28:28    

pourquoi tu ne fais pas un perfmon avec une sortie CSV ? cela te permettra de bien configurer ton relevé, et de voir l'activité sur plusieurs jours

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed