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

ASP.NET Discussion :

[VB.NET] temps d'ex�cution


Sujet :

ASP.NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut [VB.NET] temps d'ex�cution
    Bonjour � tous et � toutes,

    J'ai mis VB dans le titre, mais le probl�me concerne ASP.NET en g�n�ral je pense

    Voil� mon probl�me : j'ai un traitement assez lourd qui fait donc au final planter le serveur. On est en train de modifier les diff�rents timeout (machine.config, web.config, IIS) mais rien y fait. Ce qui m'�nerve c'est qu'� chaque fois on atteint jamais les limites : par ex : je mets 3000 partout et au bout de 20 secondes, c'est fini :

    une id�e

  2. #2
    Membre �clair�
    Inscrit en
    Janvier 2006
    Messages
    79
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par d�faut
    Quel est ton traitement? Acc�s � une BD avec 10 milliars de lignes? �criture de donn�es dans un r�pertoire?

  3. #3
    Membre confirm�
    Inscrit en
    Octobre 2004
    Messages
    113
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 113
    Par d�faut
    S'il s'agit d'une requete SQL, il faut augmenter le CommandTimeout de l'obecjt (SQL)Command.

  4. #4
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    y a requete sql avec bcp de lignes, �criture dans un rep, �criture dans des fichiers word

  5. #5
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    voici l'erreur exacte :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    Expiration du délai d'attente. Le délai d'attente s'est écoulé avant la fin de l'opération ou le serveur ne répond pas. 
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code. 
     
    Détails de l'exception: System.Data.SqlClient.SqlException: Expiration du délai d'attente. Le délai d'attente s'est écoulé avant la fin de l'opération ou le serveur ne répond pas.
     
    Erreur

  6. #6
    Membre �clair�
    Inscrit en
    Janvier 2006
    Messages
    79
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par d�faut
    Citation Envoy� par lucie.houel
    y a requete sql avec bcp de lignes, �criture dans un rep, �criture dans des fichiers word
    pour tes requ�tes, est-ce que tu utilises un dataset ou un datareader pour r�cup�rer tes donn�es? le datareader fonctionne beaucoup plus rapidement que le dataset qui est vraiment lourd � cause des metadonn�es qu'il conserve....

    pour l'�criture dans des r�pertoires, ca mange �norm�ment de RAM (sur notre serveur de fichier du moins) . Depuis qu'on l'a doubl�, ca va mieux!

  7. #7
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    Citation Envoy� par prophetky
    S'il s'agit d'une requete SQL, il faut augmenter le CommandTimeout de l'obecjt (SQL)Command.
    marche p�

    quoi que je change, il stoppe � 30 secondes

  8. #8
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    Citation Envoy� par crimsonPhantom
    Citation Envoy� par lucie.houel
    y a requete sql avec bcp de lignes, �criture dans un rep, �criture dans des fichiers word
    pour tes requ�tes, est-ce que tu utilises un dataset ou un datareader pour r�cup�rer tes donn�es? le datareader fonctionne beaucoup plus rapidement que le dataset qui est vraiment lourd � cause des metadonn�es qu'il conserve....

    pour l'�criture dans des r�pertoires, ca mange �norm�ment de RAM (sur notre serveur de fichier du moins) . Depuis qu'on l'a doubl�, ca va mieux!
    c'est des reader

    nan mais en fait je me doute que la lenteur vient des fichiers, mais j'aimerais comprendre pkoi l'appli plante � 30 secondes, alors qu'on a l'impression d'avoir changer tous les timeouts :

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par d�faut
    Tu vas devoir lancer des threads differents en s�parant la lecture des donn�es de la cr�ation des fichiers sur ton serveur en utilisant une pile partag�e ou autres pour le partage des donn�es

  10. #10
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    �a aussi j'ai essay� : lancer dans un thread diff�rent et �a n'a rien donn�, j'ai toujours la m�me erreur

    mais en fait j'aimerais comprendre quel timeout je dois changer pour que l'application continue de ramer au-del� de 30 secondes (je sais que c'est con, mais je voudrais comprendre )

  11. #11
    Membre confirm�
    Inscrit en
    Octobre 2004
    Messages
    113
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 113
    Par d�faut
    as tu essayer d'augmenter le timeout que je t'ai mis plus haut.
    Et n'oublie pas de fermer la connexion � SQL Server des que ton traitement SQL est fini, car ca bouffe des resources et un timeout pour rien.

  12. #12
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    oui, oui, regarde je te l'ai mis plus haut que j'avais essay�

  13. #13
    Membre �m�rite
    Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    835
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 835
    Par d�faut
    C'est une ou plusieurs requetes sql que tu fais ? Avec des transactions ? Si oui il est possible que tu ais un dead lock qque part.

  14. #14
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    Salut sphax

    C'est plusieurs requetes mais sans transaction.

    Mais on aurait plut�t l'impression que le probl�me vient de IIS, du machnie.config ou du web.config, plut�t que de SQL SERVER, car quand je lance mes requetes � la main dans l'analyseur de requete, elles mettent le temps, mais elles arrivent jusqu'au bout.

  15. #15
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    par exemple, on a essay� de modifier �a dans le machine.config :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/>
    on a mis par exemple 300 au lieu de 90 dans executionTimeout, mais de toutes fa�ons l'appli plante � 30 sec

  16. #16
    Membre �m�rite
    Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    835
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 835
    Par d�faut
    Chuis qu'un mal poli, hello lucie !

    on a mis par exemple 300 au lieu de 90 dans executionTimeout
    La tu changes le temps d'execution de la page or toi tu as un probleme de timeout de sqlserver. soit c'est la connexion qui prend du temps (�a voudrait dire que le pool de connexion est vide et que qque part tu aurais oubli� de fermer des connexions, verifie on sait jamais) soit que c'est l'ex�cution de la requete qui prend du temps.

    Vu que t'as essay� de changer le CommandTimeout sans succ�s (t'as bien essay� avec un grand chiffre fantaisiste genre 10000 ?), il est aussi possible que tu ais oubli� de "comitter" une transaction pr�c�dente. Tu n'as aucune transaction dans ton code nulle part (m�me ailleurs que sur le code concernant directement la requete dont on parle) ?

  17. #17
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    Citation Envoy� par Sphax
    or toi tu as un probleme de timeout de sqlserver.
    comment tu sais que c'est �a ?

    Citation Envoy� par Sphax
    Vu que t'as essay� de changer le CommandTimeout sans succ�s (t'as bien essay� avec un grand chiffre fantaisiste genre 10000 ?)
    j'ai essay� 300

    Citation Envoy� par Sphax
    , il est aussi possible que tu ais oubli� de "comitter" une transaction pr�c�dente. Tu n'as aucune transaction dans ton code nulle part (m�me ailleurs que sur le code concernant directement la requete dont on parle) ?
    bah qd je lance ma requete � la mano (dans l'analyseur de requetes) je le verrais si c'�tait �a, nan ?

    Est-ce que �a pourrait pas venir du IIS xp qui est un peu m....dique ou du fait que ma base n'est pas en local ?

  18. #18
    Membre �m�rite
    Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    835
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 835
    Par d�faut
    comment tu sais que c'est �a ?
    Ton exception c'est bien System.Data.SqlClient.SqlException , ce qui est assez clair . Un timeout de la page aurait �t� clair �galement.

    j'ai essay� 300
    Oui j'imagine que c'est assez, �a fait 5 minutes. Si sous l'analyseur de requete l'execution dure moins de 5 minutes c'est ok.

    bah qd je lance ma requete � la mano (dans l'analyseur de requetes) je le verrais si c'�tait �a, nan ?
    Ben justement si ta requete fonctionne sous l'analyseur de requete c'est a priori que le probleme vient d'ailleurs. En particulier une requete/transaction que tu lancerais avant la requete qui nous int�resse dans ton code. Mais c'est juste une id�e, peut etre que ton code n'ex�cute aucune autre requete avant (?)

    Est-ce que �a pourrait pas venir du IIS xp qui est un peu m....dique ou du fait que ma base n'est pas en local ?
    Je ne sais pas, pt'etre ben qu'oui, pt'etre ben qu'non

    Autre diff�rence entre l'analyseur de requete et ton code c'est la chaine de connexion, est ce que le tienne est bien valide, tu arrives a executer d'autres requetes depuis ton code avec cette chaine de connexion sans probleme ?

  19. #19
    Membre �clair�
    Inscrit en
    F�vrier 2005
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 270
    Par d�faut
    Citation Envoy� par Sphax
    Ben justement si ta requete fonctionne sous l'analyseur de requete c'est a priori que le probleme vient d'ailleurs. En particulier une requete/transaction que tu lancerais avant la requete qui nous int�resse dans ton code. Mais c'est juste une id�e, peut etre que ton code n'ex�cute aucune autre requete avant (?)
    nan je crois pas en plus tout se passe bien si j'ai un petit volume de donn�es (genre 5 personnes � traiter), c'est si le volume de donn�es augmente que �a m..... (genre 300 personnes). Donc si c'�tait une transaction pas ferm�e, �a m.... m�me avec 5 personnes, nan ?

    Citation Envoy� par Sphax
    Autre diff�rence entre l'analyseur de requete et ton code c'est la chaine de connexion, est ce que le tienne est bien valide, tu arrives a executer d'autres requetes depuis ton code avec cette chaine de connexion sans probleme ?
    bah ouais sans probl�me

  20. #20
    Membre �m�rite
    Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    835
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 835
    Par d�faut
    Oui effectivement une transaction non ferm�e bloquerait ta requete meme pour 5 personnes je pense.

    Je t'avoue que je seche un peu l�. Une question qd m�me : qd tu mets 300 comme timeout de la commande, ton exception est l�v�e au bout de combien de temps ? Et c'est toujours la m�me exception ?

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. [C#] Calcul du temps d'ex�cution.
    Par lozzko dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 12/06/2005, 16h12
  2. [VB.NET] Temps d'éxécution d'une page...
    Par Webman dans le forum ASP.NET
    R�ponses: 3
    Dernier message: 04/06/2004, 12h20
  3. R�ponses: 2
    Dernier message: 25/05/2004, 15h33
  4. Affichage du temps d'ex�cution d'une requ�te
    Par milka dans le forum PostgreSQL
    R�ponses: 1
    Dernier message: 22/03/2004, 17h48
  5. Temps d'ex�cution des instructions FPU
    Par ubi dans le forum Assembleur
    R�ponses: 2
    Dernier message: 24/10/2003, 18h39

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