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

Langage PHP Discussion :

wamp server devient tres lent d'un seul coup


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut wamp server devient tres lent d'un seul coup
    Bonjour,

    j'utilise wamp server pour développer en php et MySQL
    Mes données sont volumineuses (table de 87ko) avec beaucoup d'accès à ma base de données mais ça fonctionnait toujours bien depuis 3mois.
    Cependant aujourd'hui j'ai allumé mon pc et mes programmes de calcul sont devenus très très lent mais je sais pas pourquoi

    J'ai trouvé sur les forum qu'en remplaçant localhost par 127.0.0.1 ça devrait aller, je l'ai fait mais rien a changé je ne sais pas pourquoi cette lenteur.


    Merci beaucoup de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Xeuch Voir le message
    Mes données sont volumineuses (table de 87ko)
    (pardon pour le troll)

    Citation Envoyé par Xeuch Voir le message
    J'ai trouvé sur les forum qu'en remplaçant localhost par 127.0.0.1 ça devrait aller
    Ca c'est juste la résolution DNS qui va s'enlever et tu va gagner une nano seconde ^^

    Bref sinon qu'entends tu par "programme de calcul" ? Chargement d'une page ?

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La lenteur peut venir:
    • de la base
    • d'Apache
    • du réseau


    Mais vu comme ça je saurais pas dire, donne plus de détails.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Un redémarrage peut-être ? si ce n'est pas déjà fait

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    Merci de ta reponse walane

    J'ai déjà essayer de desactiver la resolulion IPV6 en commentant la ligne
    du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     C:\Windows\System32\drivers\etc\hosts
    et normalement avec un
    ça devrait aller mais j'ai toujours pareil.


    En fait, ma page web n'est est rien d'autre que les résultats des calculs que j'effectue via des données récupérées de ma base de données et que j'affiche dans un tableau.

    faudrait-il que j'utilise les requêtes préparées peut être?

    voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
    function RecupListTypeOperPilote($domaine, $numero){
    	try
    	{
    		$bdd = new PDO('mysql:host=localhost;dbname=basec3p', 'root', '');
    		echo "<br> connexion à la bdd reussie <br>";
    	}
    	catch(Exception $e)
    	{
    		die('Erreur : '.$e->getMessage());
    	}
     
    	//recuperation des type d'operation associes au domaine
    	$tabTypOper=array();
    	$tabTypOperAfficher=array();
    	$Reponse=$bdd->query("SELECT * FROM typeoperation WHERE domaine=\"$domaine\"" );
    	while($myDonnees=$Reponse->fetch()){
    		$tabTypOper[]=$myDonnees['typeoper'];
    	}
    	//nombre de type Operation du domaine
    	$nbTypesOper=count($tabTypOper);
     
    	$tabOperPilote=array();
    	foreach($tabTypOper as $operation){
    		echo $operation;echo "<br>";
    		//recuperation des article associes à chaque type operation
    		$tabArticleOper=array();
    		$ReponseArticleAssocieOper=$bdd->query("SELECT * FROM article WHERE typeOperAssosie=\"$operation\"" );
    		$nbLign=$ReponseArticleAssocieOper->rowCount();
     
    		while($donnees=$ReponseArticleAssocieOper->fetch()){
    			$tabArticleOper[]=$donnees;
    		}
     
    		$tableGraphArticle=array();
    		//pour chaque article
    		foreach($tabArticleOper as $Larticle){
    			$article=$Larticle['codeArticle'];
    			$tachIdPil=	$Larticle['tacheIdPilote'];
    			$ReponseGrapheAssocArticle=$bdd->query("SELECT * FROM graphe WHERE article=\"$article\"" );
     
    			while($donnees=$ReponseGrapheAssocArticle->fetch()){
    				$tableGraphArticle[]=$donnees['noGraph'];
    			}
    			//recuperation des activites associes aux graphes
    			$tableActiviteGraph=array();
    			foreach($tableGraphArticle as $graphe){
    				$ReponseActiviteAssocGraphe=$bdd->query("SELECT cdPostOp FROM activite WHERE noGraph=\"$graphe\" AND noActivite=\"$tachIdPil\"" );
    				while($donnees=$ReponseActiviteAssocGraphe->fetch()){
    					$tableActiviteGraph[]=$donnees['cdPostOp'];
    				}
     
     
    				foreach($tableActiviteGraph as $codePost){
    					if($codePost==$numero){
     
    						{
    							$tabTypOperAfficher[]=$operation;
    						}
    					}
     
    				}
    			}	
     
    		}
     
    	}
     
    	$bdd=NULL;
    	return $tabTypOperAfficher;
     
    }

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    je n'avais pas vu ta réponse benjamin,

    j'ai posté le code

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par walane Voir le message
    Un redémarrage peut-être ? si ce n'est pas déjà fait
    je l'ai déjà essayer mais ça ne change rien

  8. #8
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Une table de 87ko ce n'est pas grand chose.

    Peut-être as tu un simplement problème sur ton disque dur ? Ou une tache de fond sur ton PC qui te boufferait pas mal de ressources.

    Je commencerai par :
    - Supprimer les fichiers temporaires
    - Scan avec anti-virus
    - Eventuellement désinstaller les programmes indésirables
    - Défragmenter le disque dur
    - CheckDisk

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    Merci benjamin,

    Tu pense que ça peut venir des virus donc car je viens de me rappeler que j'avais introduit une clé USB dans ma machine vendredi

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Heu de rien mais j'ai encore rien dit moi

    Bref, plus que les virus regarde le graph CPU / Mémoire de ta machine et fait un ptit coup de TCP View pour voir ce qui se passe.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Oui vérifie aussi que t'es pas dans une boucle infinie...
    C'est aussi lent sur les autres pages ?

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Si t es sur un windows autre 7 et 8
    peux tu contrôler que dans c:\Windows ne se trouve pas un répertoire "minidump" si tu le trouves ne le vides pas mais supprimes le.
    Vides ta corbeille, et redémarres de suite.

    Au cas ou ...
    HOP THIS HELP
    Christele

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    Merci les amis de vos réponses,

    j'ai optimisé le code en enlevant les tableaux et en en bouclant ainsi directement sur les réponses de mes requêtes, ça m'a fait gagné un peut de temps mais c'est toujours lent a peut près 2min de chargement.
    J'ai vérifié Walane mais il n'y pas de boucle infinie.

    Cependant je me pose la question de savoir est ce que ce n'est pas du à la façon de j'effectue mes requêtes car il y'a de jointures entre mes tables mais vu que je dois pour chaque réponse d'une requête faire d'autres requêtes, je ne sais pas comment pourrais-je faire de telles jointures.
    exemple si j'ai tableA et tableB :

    et je veux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($donnees=$reponsePrecedent->fetch()){
        $valeur=$donnees['blabla'];
        requet=( selectionner les entrées de la tableA pour lesquelles le champsA_1 = champsB_1 où champsB_2=valeur)
     
    }
    Y'a t-il moyen de faire des jointure de ce genre ?

    Merci de votre aide

  14. #14
    Invité
    Invité(e)
    Par défaut
    Est-ce que le temps de chargement est le même sur une page avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo 'Hello World'; ?>
    ?

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    Non c'est pas pareil,
    il n'y a que cette page qui fait les calcul qui est lent.

    Merci

  16. #16
    Invité
    Invité(e)
    Par défaut
    Combien y-a-t-il de tours dans ta boucle ?
    Combien de requêtes en tout ?

  17. #17
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Points : 113
    Points
    113
    Par défaut
    j'ai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    while($donnees=$ReponseArticleAssocieOper->fetch()){ //100 lignes
    	$myArticle=$donnees;
    	$theArticle=$myArticle['codeArticle'];
    	$tachIdPil=	$myArticle['tacheIdPilote'];
    	$ReponseGrapheAssocArticle=$bdd->prepare("SELECT * FROM graphe WHERE article=:theArticle" );
    	$ReponseGrapheAssocArticle->execute(array(
    	'theArticle'	 => $theArticle
    	));
     
    	while($donnees1=$ReponseGrapheAssocArticle->fetch()){ // 20000 lignes
    		//$tableGraphArticle[]=$donnees1['noGraph'];
    		$graphe=$donnees1['noGraph'];
    		$ReponseActiviteAssocGraphe=$bdd->prepare("SELECT cdPostOp FROM activite WHERE noActivite=:tachIdPil AND noGraph=:graphe "  );
    		$ReponseActiviteAssocGraphe->execute(array(
    		'graphe'	 => $graphe,
    		'tachIdPil' => $tachIdPil
    		));
     
    		while($donnees2=$ReponseActiviteAssocGraphe->fetch()){ //300.000 lignes
    		}
    	}
    }

    ce qui me fait 100*20.000*300.000=600.000.000.000

  18. #18
    Invité
    Invité(e)
    Par défaut
    Ooooohh ^^ Oui tout est clair à présent.
    Il y'a un vrai travail d'optimisation à faire. Il faut déléguer le plus possible tout ce qui est calcul à ton sgbd.

Discussions similaires

  1. Procedure Stockée devient tres lente
    Par messi1987 dans le forum Développement
    Réponses: 3
    Dernier message: 19/06/2015, 14h14
  2. [FB 1.5.2] Requetes tres lentes via VPN
    Par gudul dans le forum Connexion aux bases de données
    Réponses: 8
    Dernier message: 05/01/2006, 18h52
  3. NFS : Mount très lent
    Par litbos dans le forum Réseau
    Réponses: 2
    Dernier message: 28/12/2005, 14h23
  4. Impression très très lente avec Samba
    Par Daav dans le forum Réseau
    Réponses: 4
    Dernier message: 29/12/2004, 18h45
  5. Réponses: 6
    Dernier message: 29/09/2004, 12h45

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