L'Exécution de la requête du temps dans la Gestion de Studio & profiler. Que faut-il mesurer?
J'ai mon Serveur SQL de production dans un centre de données distant(et les serveurs web sont situés dans le même centre de données). Au cours du développement, nous avons observé que, d'un point de vue particulier prend du temps pour s'exécuter (environ 60 à 80 secondes) dans nos locaux de développement SQL Server, et nous avons été d'accord avec elle.Il a été promu à la production et lorsque j'exécute la même requête sur la base de données de Production (qui est dans le centre de données)à partir de mon local de Gestion de Studio, je vois que la requête prend environ 7 minutes et 17 secondes à s'exécuter (disponible le coin inférieur droit de la gestion de l'atelier).Quand j'ai couru un profileur je vois que le temps d'exécution de cette requête est 437101 microsecondes millisecondes, bien qu'il montre dans la gestion de studio 7:17. , qui, en fait, est d'environ 437101 millisecondes. Mon DBA dit qu'en prod, la vue prend à peu près 60 à 80 secondes si je vois des numéros différents de profiler et de gestion de studio.Quelqu'un peut-il me dire ce que ces durées moyenne dans le générateur de profils et de gestion de studio ?
Ma conjecture: la durée entre l'envoi de la dernière demande d'octets et de la réception de la dernière réponse octets à partir du serveur. Statistiques du client ont été comme suit:
Le temps de Traitement Client: 90393
Temps d'Exécution Total:92221
Temps d'attente sur le serveur répond: 1828
Ma meilleure supposition sur ce que la "durée" sur le profileur signifie "le temps pris par SQL Server (moteur d'optimisation pour analyser la requête,de générer le plan de requête ou d'utiliser le plan de requête existant + extraction des enregistrements à partir de différentes pages) pour générer le jeu de résultats qui exclut le temps pris par les données de voyager sur le fil pour le client"
Edit: je trouve que ces deux choses sont sur le même (management studio vs profiler). Comment réagissent-ils à la fois, je vois dans les statistiques du client ?
Peut on jeter plus de lumière sur ces ?
Nate: j'ai édité la question. Le générateur de profils et de Gestion de Studio de montrer la même époque (437101 milli secondes vs 7:17)
OriginalL'auteur ram | 2010-06-21
Vous devez vous connecter pour publier un commentaire.
Si je comprends votre question correctement, vous êtes le premier interrogatoire de la différence entre la Durée rapportée par le générateur de profils et les statistiques présentées dans SSMS (en bas à droite pour que le temps et/ou de STATISTIQUES en TEMPS). En plus de cela, vous semblent pas convaincus de l'administrateur de production dans son commentaire que la vue est en cours d'exécution dans la durée prévue d'environ 60 secondes.
D'abord, à partir de la documentation en Ligne, la statique que SSMS ferais le JEU par le biais des STATISTIQUES de TEMPS SUR:
Vous êtes sur place pour cela. Comme pour la Durée dans le Profiler, il est décrit comme:
D'où je suis assis, ces deux devraient être fonctionnellement équivalent (et, comme je suis sûr que vous avez remarqué, Profileur de rapport en microsecondes si vous allez à l'encontre de SQL 2005 ou plus tard). Je dis cela parce que "l'événement" dans ce cas (en matière de Durée dans le Profiler) est l'exécution de la sélection, qui comprend la livraison au client, ce qui est compatible dans les deux cas.
Il semble que vous pensez que la géographie est le coupable de la longue durée lors de l'exécution de la requête à distance. Cela peut très bien être. Vous pouvez le tester en exécution de la sélectionner sur l'affichage dans une fenêtre de requête, puis la ponte d'une autre fenêtre de requête et d'examiner le type d'attente pour la requête:
Je suppose que vous voulez voir quelque chose comme ASYNC_NETWORK_IO que le type d'attente si la géographie est le problème - sinon, découvrez quelles ne de cette. Si vous êtes le Profilage de la requête de votre exécution à distance, la Durée sera le reflet des statistiques en temps vous voir dans SSMS. TOUTEFOIS, si vous utilisez le générateur de profils et de trouver que la durée de cette requête lors de l'exécution de l'un des serveurs web qui se trouve dans le même centre de données comme SQL Server est toujours de 7 minutes, puis le DBA est un gros menteur :). Je voudrais utiliser Profiler pour enregistrer les requêtes qui prennent plus de temps de 1 minute, essayez de filtre pour votre vue et de prendre la moyenne pour voir si vous êtes sur la cible pour la performance.
Car il n'y a pas d'autres réponses postées, je suis inquiet que je suis hors de la base ici - mais il est tard et je suis nouveau sur ce donc, j'ai pensé lui donner un aller!
OriginalL'auteur scottE
J'ai eu du mal avec ça jusqu'à ce que j'ai trouvé ce...
http://blog.sqlauthority.com/2009/10/01/sql-server-sql-server-management-studio-and-client-statistics/
Aussi, si vous ouvrez l'onglet propriétés pour votre requête, vous pouvez trouver quelques magique "Temps Écoulé" que peut vous donner un certain temps d'exécution...
Espérons que cela aide...
OriginalL'auteur Ymagine First
Essayer avec ceci:
OriginalL'auteur Eduardo Cuomo