Vérifier Performance SQL (Goulot Disque?) - Infrastructures serveurs - Systèmes & Réseaux Pro
Marsh Posté le 20-11-2013 à 13:16:00
regarde combien d'IOPS tu utilises pendant ton traitement...
Marsh Posté le 20-11-2013 à 14:01:31
je sais pas, je parle pas le windows
c'est le nombre de lectures et écritures par seconde sur tes disques.
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
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
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.
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.
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
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
Marsh Posté le 21-11-2013 à 15:18:29
couak a écrit : http://wintelguy.com/raidperf.pl |
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 ?
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 ?
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.
Marsh Posté le 28-11-2013 à 08:54:27
Voici les derniers relevés :
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 ?
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
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?