none
Temps d'exécution différent d'une requête selon exécution locale ou distante RRS feed

  • Question

  • Bonjour,

    Dans SQL Server Management Studio, exécuté sur mon poste, je lance une requête comportant 5 jointures sur une base située sur un serveur OVH. Voici le résultat des statistiques du client :

    Heure d'exécution du client 11:42:59
    Statistiques du profil de requête
    Nombre d'instructions INSERT, DELETE et UPDATE 0 0.0000
    Lignes affectées par les instructions INSERT, DELETE ou UPDATE 0 0.0000
    Nombre d'instructions SELECT 2 2.0000
    Lignes retournées par les instructions SELECT 9555 9555.0000
    Nombre de transactions 0 0.0000
    Statistiques réseau
    Nombre de boucles de serveur 4 4.0000
    Paquets TDS envoyés depuis le client 4 4.0000
    Paquets TDS reçus du serveur 571 571.0000
    Octets envoyés depuis le client 2540 2540.0000
    Octets reçus du serveur 1911050 1911050.0000
    Statistiques de temps
    Heure de traitement du client 11655 11655.0000
    Durée totale d'exécution 11930 11930.0000
    Délai d'attente des réponses du serveur 275 275.0000

    On voit donc que la durée totale d'exécution a été d'un peu moins de 12 secondes.

    Maintenant, j'exécute la même requête en TSE sur le serveur directement :

    Heure d'exécution du client 11:46:11
    Statistiques du profil de requête
    Nombre d'instructions INSERT, DELETE et UPDATE 0 0.0000
    Lignes affectées par les instructions INSERT, DELETE ou UPDATE 0 0.0000
    Nombre d'instructions SELECT 2 2.0000
    Lignes retournées par les instructions SELECT 9558 9558.0000
    Nombre de transactions 0 0.0000
    Statistiques réseau
    Nombre de boucles de serveur 5 5.0000
    Paquets TDS envoyés depuis le client 5 5.0000
    Paquets TDS reçus du serveur 471 471.0000
    Octets envoyés depuis le client 2570 2570.0000
    Octets reçus du serveur 1911630 1911630.0000
    Statistiques de temps
    Heure de traitement du client 63 63.0000
    Durée totale d'exécution 78 78.0000
    Délai d'attente des réponses du serveur 15 15.0000

    Durée d'exécution : 78 ms.

    Ceci peut il provenir de la quantité de données retournées ? (environ 2 Mo, en liaison ADSL 8 Mo), ou y'a t'il une quelconque option de configuration que j'aurais oublié ? Smile

    Merci par avance
    vendredi 12 décembre 2008 10:50

Toutes les réponses

  • Bonjour,

     

    S'il vous plaît, pourriez-vous regarder ce thread ?

    http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=4277977&SiteID=12

    Avec TSE, il est probable que le traffic sur le réseau sera un facteur primodial puisque TSE "pompe" les ressources du serveur ( en mémoire notamment )

     

    Il faut tenir compte du temps necessaire pour transmettre la requete vers le serveur puis à partir du serveur ( ces 2 temps n'existent pratiquement pas lorsque l'on travaille directement sur la machine où réside l'instance Sql Serveur )

     

    Bonne journée 

    samedi 10 janvier 2009 00:03
  • Ne serait-ce pas un effet de cache où, lors de la seconde requête en TSE, les résultats sont lus à partir du cache et non pas à partir d'une exécution de la requête? Que se passe-t-il si vous exécutez de nouveau la requête depuis votre poste? Avez-vous toujours 12 secondes ou êtes-vous plus près des 78 ms?

    Cordialement,

    Patrice Truong.
    http://www.declic-consulting.com/Blog

     

    dimanche 11 janvier 2009 08:33