IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Connexion SQL et temps de réponse


Sujet :

Administration SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut Connexion SQL et temps de réponse
    Bonjour,

    Sur un projet j'ai une connexion SQL qui peut rester inactive durant plusieurs heures voir même un jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    sqlConnection = new SqlConnection(  "Server=" + server +
                                                        ";DataBase=" + dataBase +
                                                        ";User ID=" + user +
                                                        ";Password=" + password +
                                                        ";Connection Timeout = 15");
    Si une requête est lancée après cette période d'inactivité comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     SqlCommand sqlCommand = new SqlCommand(query, sqlConnection);
     SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand);
    Il semblerait que cela prenne plusieurs secondes pour une requête très simple.
    Cela est quasiment instantané si est relancée juste après.

    1) Je voudrais donc savoir pourquoi cela prend du temps après une période d'inactivité ?
    2) Quel serait le moyen de corriger cela ?

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    si c'est le temps d'exécution de la requête qui est long, c'est surement qu'sql server a du rendre la ram qu'il avait utilisé, il doit donc relire sur le disque les données

    après tu peux essayer en faisant un new sqlconnexion à chaque fois plutot que de garder la connexion ouverte, bien que je ne pense pas qu'une connexion puisse être à l'origine de se comportement

    après pour éviter ce comportement s'il te dérange vraiment il faudrait peut etre exécuter la requete avoir d'en avoir besoin pour rien
    ou sinon passer sur une base de données fichier (si tu as peu de données) et il n'y aurait pas de temps de réponse je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    Salut Pol63,

    Il y a un effet une différence à cause de la RAM mais ce n'est que quelques millièmes de secondes dans mon cas.
    Le renouvellement de la connexion ne change rien d'après mes tests. La connexion qui reste active réagit correctement au final .
    Le problème venait d'un composant COM en mémoire qui semble mettre du temps à réagir après une longue période d'inactivité (utilisé juste avant la requête).
    J'ai pu trouver un moyen de contourner le problème.
    Merci encore pour les pistes et bonne journée à toi !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Expert SQL Server
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Expert SQL Server

    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Par défaut
    Bonjour

    Est-ce que Auto_Close est à TRUE dans les paramètres de la base ?
    C'est le cas, par défaut avec SQL Server Express, ce qui engendre forcément une latence à la première requête du au redémarrage de la base.

    cdlt
    Christophe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Temps de réponses SQL / elastic search dans la debug toolbar
    Par pmithrandir dans le forum Symfony
    Réponses: 6
    Dernier message: 04/05/2015, 11h40
  2. Temps de réponse pour count entre HQL et SQL Natif
    Par tdeco dans le forum Hibernate
    Réponses: 13
    Dernier message: 17/12/2010, 09h51
  3. Amélioration du temps de réponse Sql Server 2005
    Par M E H D I dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/11/2010, 11h10
  4. [sql server 2k8] Date:Probleme de temps de réponse
    Par djalil dans le forum Développement
    Réponses: 19
    Dernier message: 21/10/2010, 11h29
  5. Problème temps de réponse SQL Server CE
    Par Dark Christou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/12/2009, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo