Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Ralentissement du site [ Web 2.0 ] (Snoop)

jeudi 3 avril 2008 à 16:29:51 | Ralentissement du site

Snoop

Bonjour,

Je travaille actuellement sur un site ASP.net (hebergé par IIS) développé sous Visual Studio 2005 et s'appuyant sur une base My SQL.

Je viens de réaliser une modification sur une dll qu'utilise le site. Et depuis j'ai de gros ralentissement sur le site. Etant novice sur cette technologie , je vous sollicite pour savoir si vous n'auriez pas une idée? Etant donné le peu de modif que j'ai réalisé sur la DLL je pense que c'est plutot une option de publication ou un truc du genre...

D'avance merci

ben

vendredi 4 avril 2008 à 22:48:39 | Re : Ralentissement du site

scottmat

Membre Club
bonjour,

quel été ton code à l'origine, quel est le nouveau code modifié ?

donne nous plus de détail, par ce que la ! lol on est pas devin :)

excepter cette dll, tu n'as pas de fait de modif' ailleurs ?

lundi 7 avril 2008 à 09:05:50 | Re : Ralentissement du site

Snoop

Hello !

Voici le code concerné :

J'ai en fait crée la fonction DeleguePar et modifier la Procedure InfoMailDestinataire. Les modifications apportées sont contenus entre DEBUT MODIF ET FIN MODIF (Trés originale hein ! )
Merci à vous ;)

*********

Protected

Function DeleguePar(ByVal psAgent AsString) AsString

Dim lsRqSql AsString

Dim loMySqlCmd As MySqlCommand

Dim loMySqlReader As MySqlDataReader

lsRqSql =

String.Format("SELECT NUM_DELEGATION FROM dwh.sto_delegations WHERE NUM_AGENT = '{0}'", psAgent)

Try

   loMySqlCmd =

New MySqlCommand(lsRqSql, goMysqlConn)

   loMySqlReader = loMySqlCmd.ExecuteReader()

   Catch ex As MySqlException

   ThrowNew WorkflowException("1.DeleguePar: Impossible d'éxécuter la requête Sql dans la base de donnée dwh")

EndTry

 

If (loMySqlReader.Read()) Then

   ' Numéro du Délégataire

   DeleguePar = loMySqlReader(

"NUM_DELEGATION") & ""

   Else

   ' Si le N+1 n'est pas absent alors on n'envoie pas de mail

   DeleguePar =

""

EndIf

loMySqlReader.Close()

EndFunction


***********************************

ProtectedSub InfoMailDestinataire(ByVal piEtape AsInteger, ByVal psSujet AsString, ByVal psMessage AsString)

Dim lsRqSql AsString

Dim loMySqlCmd As MySqlCommand

Dim loMySqlReader As MySqlDataReader

Dim loMail As MailMessage

Dim losmtp As SmtpClient

Dim lsNumDestinataire AsString

Dim lsTpEmetteur AsString

Dim lsTpDestinataire AsString

Dim lsSvEmetteur AsString

Dim lsSvDestinataire AsString

Dim csAgent AsString

Dim csAgentN1 AsString

Dim csDelegataire AsString

csAgent =

"agent"

csAgentN1 =

"agent n+1"

csDelegataire =

"delegataire"

' ----------------DEBUT MODIF---------------------------

'Sélectionne le type de l'emetteur et du destinataire

lsRqSql =

String.Format("SELECT TP_EMETTEUR, TP_DESTINATAIRE, SV_EMETTEUR, SV_DESTINATAIRE, REF_DOC FROM sto_event WHERE ID_ETAPE = {0} AND ORDRE = {1}", giEtape, giNumOrdre)

Try

      loMySqlCmd =

New MySqlCommand(lsRqSql, goMysqlConn)

      loMySqlReader = loMySqlCmd.ExecuteReader()

      Catch ex As MySqlException

      ThrowNew WorkflowException("1.InfoMailDestinataire : Impossible d'éxécuter la requête Sql")

EndTry

If (loMySqlReader.Read()) Then

      lsTpEmetteur = loMySqlReader(

"TP_EMETTEUR") & ""

      lsTpDestinataire = loMySqlReader(

"TP_DESTINATAIRE") & ""

      lsSvEmetteur = loMySqlReader(

"SV_EMETTEUR") & ""

      lsSvDestinataire = loMySqlReader(

"SV_DESTINATAIRE") & ""

      loMySqlReader.Close()

      ' Détermine le numéro du destinataire en fonction du Type

      SelectCase LCase(lsTpDestinataire)

      Case csAgent

            lsNumDestinataire = ProprietaireDuFlux()

      Case csAgentN1

            lsNumDestinataire = AgentN1(ProprietaireDuFlux())

      

Case csDelegataire

            'Vérifie si le N+1 est absent, si oui on récupère son numéro

            lsNumDestinataire = DeleguePar(AgentN1(ProprietaireDuFlux()))

 

      CaseElse

         lsNumDestinataire =

""

 

EndSelect

' -------------------FIN MODIF    ------------------------

 

If lsNumDestinataire <> ""Then

      'Création de l'instance d'une nouvelle classe MailMessage

      loMail =

New MailMessage()

      ' -------------------------------------------

      'Sélectionne l'E-mail du destinataire

      lsRqSql =

String.Format("SELECT NOM, PRENOM, MAIL FROM dwh.ref_ldap_agent WHERE NUM_AGENT = '{0}';", lsNumDestinataire)

      Try

         loMySqlCmd =

New MySqlCommand(lsRqSql, goMysqlConn)

         loMySqlReader = loMySqlCmd.ExecuteReader()

         Catch ex As MySqlException

         ThrowNew WorkflowException("2.InfoMailDestinataire : Impossible d'éxécuter la requête Sql")

      EndTry

      If (loMySqlReader.Read()) Then

         ' adresse du destinataire

         loMail.To.Add(

New MailAddress(loMySqlReader("MAIL") & "", loMySqlReader("PRENOM") & " " & loMySqlReader("NOM")       &       ""))

      Else

         ThrowNew WorkflowException(String.Format("3.InfoMailDestinataire : Impossible de récupèrer l'adresse mail de l'agent {0}",          lsNumDestinataire))

      EndIf

      loMySqlReader.Close()

      ' -------------------------------------------

      ' -------------------------------------------

      'Sélectionne l'E-mail de l'émetteur

      lsRqSql =

String.Format("SELECT NOM, PRENOM, MAIL FROM dwh.ref_ldap_agent WHERE NUM_AGENT = '{0}';",    gsAgentConnecter)

      Try

         loMySqlCmd =

New MySqlCommand(lsRqSql, goMysqlConn)

         loMySqlReader = loMySqlCmd.ExecuteReader()

         Catch ex As MySqlException

         ThrowNew WorkflowException("4.InfoMailDestinataire : Impossible d'éxécuter la requête Sql")

        EndTry

         If (loMySqlReader.Read()) Then

               ' adresse de l'expéditeur

               loMail.From =

New MailAddress(loMySqlReader("MAIL") & "", loMySqlReader("PRENOM") & " " & loMySqlReader("NOM") & "")

         Else

               ThrowNew WorkflowException(String.Format("5.InfoMailDestinataire : Impossible de récupèrer l'adresse mail de l'agent {0}", gsAgentConnecter))

         EndIf

         loMySqlReader.Close()

         ' -------------------------------------------

         loMail.Subject = fsReplaceParamMail(psSujet)

         loMail.Body =

"<p>" & fsReplaceParamMail(psMessage).Replace(Chr(10), "<br />") & "</p>"

         loMail.IsBodyHtml =

True

         loMail.BodyEncoding = System.Text.Encoding.GetEncoding(

"iso-8859-1")

 

         losmtp =

New System.Net.Mail.SmtpClient("localhost")

         losmtp.UseDefaultCredentials =

True

         Try

            losmtp.Send(loMail)

            Catch exMail As SmtpFailedRecipientsExceptio

            ThrowNew WorkflowException(String.Format("6.InfoMailDestinataire : Impossible d'envoyer le mail à l'adresse suivante : {0} &lt;{1}         &gt;", loMail.To(0).DisplayName, loMail.To(0).Address))

            Catch ex As SmtpException

            ThrowNew WorkflowException("7.InfoMailDestinataire : Impossible d'envoyer le mail, La connexion au serveur SMTP a échoué.")

         EndTry

      Else

            'Si lNumDestinataire alors il n'y a pas de Mail à envoyer

      EndIf

   Else

         ThrowNew WorkflowException(String.Format("9.InfoMailDestinataire : Impossible d'accéder à l'état N°{0} pour l'ordre N°{1}", giEtape - 1, giNumOrdre))

EndIf

loMail =

Nothing

losmtp =

Nothing

lsNumDestinataire =

Nothing

lsRqSql =

Nothing

loMySqlCmd =

Nothing

loMySqlReader =

Nothing

EndSub



ben

jeudi 17 avril 2008 à 17:07:04 | Re : Ralentissement du site

Snoop

Hello

Après plusieurs pistes de recherche voila ce que j'ai trouvé :

Au début j'ai pensé que c'était un response.redirect qui était trop long , car si je fais le redirect sur une url exterieure (google ;) le traitement est instantané.

J'ai donc cherché a savoir pourquoi le serveur mettait autant de temps a faire la redirection.

Lors du chargement de ma page default.aspx le l'utilisation CPU monte en fleche a 100 % (Et redescends a la normale une fois la page chargée! )!!! Et c'est mysql qui utilise toute la ressource.
C'est donc de la que vient le soucis.

Mais qu'est ce qui pourrait solliciter autant le processeur (1Go pourtant) ??? C'est la ou je bloque un peu, si vous avez des pistes ca m'aiderait pas mal....  En oubliant pas qu'avant que je modifie l'appli les traitements n'etait pas aussi long....

Merci d'avance, Sauvez-moi la vie !!

ben

jeudi 17 avril 2008 à 17:32:54 | Re : Ralentissement du site

scottmat

Membre Club
Ton code à l'air bon pourtant. quand je travail avec les base de données je préfére travailler avec procédure sotckée, mais bon je ne vois d'erreur. Bizarre.

A ta place j'excuterai ton code en procédure pas à pas afin de voir à quel ligne sa te bouffe toute la ressource de ton pc.



Cette discussion est classé dans : site, dll, ralentissement, etant


Répondre à ce message

Sujets en rapport avec ce message

ASP DLL [ par romaing ] bonjour. j'ai des pb avec la conversion d'asp en dll. Pour la petite histoire j'ai tout le site (asp)d'une entreprise à convertir en dll... donc mon p Problème au déploiement d'un site avec une DLL [ par tanginthemiddle ] Bonjour,J'ai fait une petit DLL de test en VB6. Celle-ci renvoie simplement une chaîne de caractère.Mon site ASP.net  fais juste un appel à cette DLL Deployement site asp.net [ par xeon666 ] Voila, j'ai dévellopé un petit site en asp.net, et j'aurais voulu voir comment se passait le déployement sur le net ... je dispose donc d'un hébergem Compteur de visites sur SHAREPOINT [ par hl1250 ] Bonjour à toutes et à tous.J'aimerais placer sur la page d'accueil de mon site Sharepoint (intranet) un compteur de visites et aussi un compteur m'ind Autentification sous ASP [ par lbensch ] Bonjour, je cherche une fonction me permettant de me connecté à mon site via une identification type Windows mais avec mes utilisateurs et leurs mot d DLL Gérant connection à SQL [ par apacheswiss ] Bonjour, je débute en ASP...Le projet sur lequel je travai et un client WEB d'une application qui existe déjà en WinForm...dans cette application (Win Probleme URLencode [ par tomlegeneral ] Bonjour ,J'ai un probleme avec un de mes sites, je n'arrive pas à faire fonctionner convenablement l'URLencode.Je m'explique:Une animation flash qui n Mise en ligne d'un site [ par Espia514DBX ] Bon, ben voila, en fait c'est que je n'arrive pas a mettre en ligne mon site web asp.net C#.Je suis sous visual studio 2005, lorsque je debugue mon pr Probleme d'affichage [ par chalp ] Bonjour,j'ai depose un nom de domaine aupres d'une societe, et j'ai souscrit au dns etenedu dans lequel j'ai specifie l'adrese de mon serveur.Sur ce s Moteur de recherche interne au site [ par Nightwolf774 ] Bonjour,Je cherche un code sources pour faire une recherche automatique dasn mes bases de donnée par rapport à un mot ou une référence.Je suis débutan


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.