begin process at 2012 05 31 04:44:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Hébergeurs

 > 

Plantage serveur a cause de requettes ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Plantage serveur a cause de requettes ?

mardi 13 décembre 2005 à 19:48:11 | Plantage serveur a cause de requettes ?

Anthotill

Bonjour à tous !

J'ai un probleme avec un site, il mange toute la mémoire RAM d'un serveur web est le fait planter.

J'aurais aimé savoir ce qui pouvais conduire a se résultat, je me demandais si lorsque l'on oublie plusieurs fois de fermer la connexion a Mysql (mysql_close()) ca pouvais saturer la RAM d'un serveur à un point qu'il plante ?

Merci :)


Antho
mardi 13 décembre 2005 à 19:53:24 | Re : Plantage serveur a cause de requettes ?

FhX

Réponse acceptée !
mysql_close() est exécuté à chaque fin de script.

Une requète trop grosse généralement bouffe un tas de mémoire...

Utilise mysql_free_result() après chaque grosse query et regarde :)
mardi 13 décembre 2005 à 21:50:53 | Re : Plantage serveur a cause de requettes ?

Anthomicro

Réponse acceptée !
Salut Antho :-)

heu quel est le code qui fait planter le serveur ?

en général tout ce qui bouffe de la ram :

- requêtes
- appel de fonctions sur les images (genre createfromjpeg...)
- script en lui-même
- buffers

et y'a surement d'autres trucs également :-)


    mardi 13 décembre 2005 à 22:05:07 | Re : Plantage serveur a cause de requettes ?

    Anthotill

    Je suis dans le floux complet c'est pour ca que je m'adresse à vous ....

    Je ne sais pas ce qui ne va pas mais il est sur que le code php en question ne referme jamais mysql.

    La connexion est ouverte par un include du fichier de connexion à chaque requette et refermé ensuite (quand le mysql close n'est pas oublié) ...

    Donc pour vous c'est possible que l'oublie de fermeture peut donner un résusltat comme ca !!...

    Antho
    mardi 13 décembre 2005 à 22:58:17 | Re : Plantage serveur a cause de requettes ?

    Anthomicro

    Réponse acceptée !
    il faudrait que tu passes ton code car on est encore plus dans le flou que toi là


      mardi 13 décembre 2005 à 23:00:42 | Re : Plantage serveur a cause de requettes ?

      Anthotill

      C'est pas un code c'est plusieurs pages de codes ! un site complet ou la déconnexion a Mysql est souvent oubliée et donc quasiement jamais refermé.

      Dans toute les pages, la valeur de MYSQL SELECT c'est * peut etre que ca aussi ca jou lorsqu'ensuite on oubli de refermer Mysql.

      Antho, quand tu dis buffers, c'est quoi qui utilise le buffer ?


      Antho
      mardi 13 décembre 2005 à 23:22:39 | Re : Plantage serveur a cause de requettes ?

      Anthotill

      Tous le site utilise des requettes simple :

      <?php
      include ('connexion.php');                                                                      
      $sql = "SELECT * FROM site ORDER BY `annee` DESC";          
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
      while($data = mysql_fetch_assoc($req))
      {
      echo '<a class="bas" href="articles.php?annee=',$data['annee'],'">',$data['annee'],'</a> - ';
      }
      ?>
      <?php mysql_close();  ?>

      Il faudrais mieux ouvrir la connexion en haut de page et la fermer en bas plutôt qu'a chaque requette ?
      Il faut aussi remplacer les SELECT * par SELECT id,titre,date par exemple ?

      Qu'en pensez vous ?

      Antho
      mardi 13 décembre 2005 à 23:31:39 | Re : Plantage serveur a cause de requettes ?

      Anthomicro

      Réponse acceptée !
      Pour le * à remplacer par les champs utilisés oui c'est mieux. pour le mysql_close() faut le faire après la requête et le mysql_connect avant. Si t'as 5 requêtes bah tu fais mysql_connect ensuite les 5 requêtes et ensuite le mysql_close (et ensuite les fetch_row... etc)

      Ensuite faut voir dans ton phpinfo à quelle taille maximale est fixée le memorylimit


        mardi 13 décembre 2005 à 23:33:14 | Re : Plantage serveur a cause de requettes ?

        FhX

        Réponse acceptée !
        "Il faudrais mieux ouvrir la connexion en haut de page et la fermer en bas plutôt qu'a chaque requette ?"
        Surtout pas fermer après chaque requete !!

        Rien que le temps de te connecter à la BDD prend énormément de temps !


        Je le redis ==> mysql_close() s'éxécute tout seul A LA FIN DE LA DERNIERE LIGNE DE CODE

        Alors vire tes mysql_close() pour le moment...
        mercredi 14 décembre 2005 à 04:52:12 | Re : Plantage serveur a cause de requettes ?

        Anthotill

        OPk do,nc une seul connexion par page, mes requettes et une déconnexion une fois les requettes chargée alors !

        Jvé essayé déja de voir ca.

        Vous avez d'autre combine pour fluidifier le code ? (ne me demandez pas quoi, je prendrais toutes les idée bonnes à prendrre :p)

        Antho

        1 2 3 4 5 6 7

        Cette discussion est classée dans : ram, serveur, plantage, cause, requettes


        Répondre à ce message

        Sujets en rapport avec ce message

        Création d'un compte e-mail sur le serveur via php ? [ par nico ] Je cherche à créer des comptes e-mail à la volée sur mon serveur via php/mysql. Je désire de même créer des sous-domaines et enregistrer les dns secon apache smtp [ par nyf ] Apache est il un serveur smtp aussi.Je voudrai envoyer des mails avec php.Est il nécessaire d'avoir un serveur smtp? apache serveur smtp de iis [ par nyf ] Peut on lancer apache et le serveur smtp de iis en meme temps sans conflit? installation d'un site sur un serveur linux [ par aphikit ] j'ai réalisé un annuaire en php avec la base de donnée Mysql, pour un intranet et j'aurais aimé le mettre à disposition de tous.Mais je débute en info Faire unr image sur le serveur en PHP [ par fabiin ] Salut !En ASP, il y a un composant ki permet de créer une image sur le serveur,...on peu avec 2-3 ligne de codes, faire un dégradé, mettre du texte, e serveur CVS !? [ par ec4 ] c'est ptet pas le bon endroit pour ke les webmaters mentendent mais bon... je leur ecrirai directement si y a pas de reponse...Pour ceux ki savent pas Comment envoyer un fichier sur un serveur ? [ par slhuilli ] Bonjour,Je suis a la recherche d'un bout de code qui puisse valider un formulaire (INSERT sans une base MySQL). Je voudrais que ce code récupère une p URGENT!!!!!!!!Telecharger un fichier depuis le web vers serveur PHP [ par bonbecman ] Je recherche le moyen de récupérer un fichier sur Internet (www.quelquechose.fr/unfichier.exe) et de le placer sur mon serveur PHP. Il y a bien une so Charger une page d'un autre serveur dans une variable [ par Rmoummed ] Voila!!!!!!!!je voudrais charger une page distante (qui n'est pas sur mon serveur) en renseignants quelque variable, exemple: www.votresite.com/index. Serveur Mail consultation de sa boite.. [ par geniasoft ] Bonjour, je voulais savoir si qq connaissais une source ou autre pour consulter un serveur mail IMAP ou autre via une page PHP.je voudrais dev un tru


        Nos sponsors


        Sondage...

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        Photothèque

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 0,265 sec (4)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales