Grandes lenteurs depuis le passage a PHP 5

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par comparef, 25 Avril 2008.

  1. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Bonjour,

    Nous sommes recement passés à PHP 5 pour l'un de nos serveur.
    Depuis nous observons de tres grandes lenteurs sur des pages principlement constituées de requetes SQL.

    Savez vous si PHP5 a des mises a jour pouvant engendrer ces lenteurs ? (je parle de temps de chargement de 1 ou 2 seconde qui sont passés à 1 minute ou 2).

    Je ne vous colle pas le code conserné car cela conserne des pages contenant plusieurs dizaines de requete SELECT, UPDATE, INSERT INTO et DELETE.

    Cela ne se produit pas sur toutes les pageset je n'arrive pas a isoler le type de requete conduisant a ces lenteurs...

    Merci d'avance pour votre aide.
    Robin
     
  2. tonguide
    tonguide WRInaute passionné
    Inscrit:
    28 Novembre 2003
    Messages:
    1 158
    J'aime reçus:
    0
    Il n'y a rien de particulier avec PHP 5 qui pourrait provoquer des lenteurs. Des plantages à la limite.

    Essai de mettre un "timer" entre chaque élément afin d'isoler le problème.

    Tu affiches à la fin le temps que chaque partie a mis pour se charger et tu nous dis ce qu'il en est.

    Sinon "plusieurs dizaines de requêtes" c'est vraiment nécessaire ?
     
  3. [--Eric--]
    [--Eric--] WRInaute occasionnel
    Inscrit:
    6 Janvier 2004
    Messages:
    352
    J'aime reçus:
    0
    De quelle manière avez vous installé php5 ?
    J'avais un serveur ou je faisais cohabiter php5 en cgi aux côté de php4 c'était la cata.
     
  4. Suede
    Suede WRInaute passionné
    Inscrit:
    4 Octobre 2002
    Messages:
    2 441
    J'aime reçus:
    0
    Bonjour
    Est-ce que tu as mis à jour mysql en même temps? Tu as peut-etre des optimisation à faire au niveau config? Ma config mysql n'etait pas adapté quand je suis passé à php5. J'ai du modifier pas mal de chose. C'est pas encore le top, mais c'est mieux.
     
  5. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Merci pour vos réponses.

    Ce n'est pas moi qui ai effectué la mise a jour donc je ne saurais pas répondre a vos questions sur le plan technique.

    Je vais me renseigner et explorer vos pistes.
     
  6. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Bonjour,

    J'ai pue isoler les requetes causant ces lenteurs, il s'agit des requetes utilisant la méthode des jointures SQL

    Type :
    Code:
    SELECT * FROM table2 t2 WHERE t2.nom = t1.nom
    J'ai cherché dans les documentations et je n'ai trouvé aucune mention consernant ce type de requetes avec PHP 5.

    Avez-vous une idées ?

    Je continu a chercher du côté d'une éventuelle mise à jour de mysql.

    Merci d'avance.
     
  7. tonguide
    tonguide WRInaute passionné
    Inscrit:
    28 Novembre 2003
    Messages:
    1 158
    J'aime reçus:
    0
    SELECT * FROM table2 t2 WHERE t2.nom = t1.nom

    Elle est où la jointure ?

    Il y a effectivement une différence au niveau des jointures, mais normalement ça fait planter ta requête ...
     
  8. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Désolé, c'est plutot :
    Code:
    SELECT * FROM table1 t1,table2 t2 WHERE t2.nom = t1.nom
    Enfaite ca ne plante pas mais c'est extremement long a charger (sachant qu'avant la mise a jour de PHP le chargement était instantatané).
     
  9. tonguide
    tonguide WRInaute passionné
    Inscrit:
    28 Novembre 2003
    Messages:
    1 158
    J'aime reçus:
    0
    Eventuellement, colles ta requête ici, peut-être qu'il y a un truc qui ne va pas ?

    la virgule pour faire les jointures, c'est pas l'idéal. Fait plutôt JOIN ou LEFT JOIN (selon que ce soit stricte ou non).
     
  10. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Il s'agit de la requete suivante :
    Code:
    $req=mysql_db_query($sql,"select * from table1 T1, table2 T2 WHERE (T1.chp1 = \"xxx\" OR T1.chp1 = \"xxx\") AND T2.chp2>'0' AND T1.chp3=T2.chp4 ORDER BY T1.hp5",$db) or die(mysql_error());
    Je vais regarder pour JOIN.
     
  11. tonguide
    tonguide WRInaute passionné
    Inscrit:
    28 Novembre 2003
    Messages:
    1 158
    J'aime reçus:
    0
    Je pense qu'il s'agit plutôt d'un soucis d'INDEX, c'est à dire l'optimisation des 2 tables qui sont utilisés dans la requête.

    Fait ta requête dans PhpMyAdmin, regarde que les champs qui sont utilisés pour les WHERE et le ORDER BY sont correctement indexés.

    En tout cas, le soucis vient pas de PHP 5.
     
  12. cedric_g
    cedric_g WRInaute accro
    Inscrit:
    18 Janvier 2006
    Messages:
    2 930
    J'aime reçus:
    2
    Bonsoir

    Commences déjà par lister uniquement les champs utiles plutôt que de tous les renvoyer (avec *)

    Selon le type d'utilisation que tu veux en faire, envisages aussi la mise en place d'un système de cache. J'utilise CacheLite, ça fonctionne très bien, est très simple à mettre en oeuvre et divise très sensiblement les appels MySQL et augmente les performances du site... Mais c'est selon l'usage que l'on en fait évidemment.
     
  13. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Bonsoir,

    J'ai mis des index sur certains champs, et ca a résolu le problème.

    Merci pour votre aide.
     
Chargement...
Similar Threads - Grandes lenteurs passage Forum Date
Récupérer les 10 plus grandes valeurs dans un fichier JSON Développement d'un site Web ou d'une appli mobile 18 Novembre 2021
les grandes villes par département Le café de WebRankInfo 23 Février 2020
Comment avoir de grandes images dans google image? Débuter en référencement 17 Avril 2016
Les grandes qualités d'un Site Web optimisé SEO Référencement Google 27 Août 2012
AdWords : extensions d'annonces grandes tailles AdWords 20 Février 2012
refencecement site fleuriste autres que grandes villes proposées Débuter en référencement 17 Janvier 2012
Référencement 2012 : conseils et grandes tendances SEO Référencement Google 2 Janvier 2012
Référencement 2011 dans les grandes entreprises : conseils de Matt Cutts Référencement Google 11 Mars 2011
Petites et grandes pages ! Débuter en référencement 2 Mars 2009
Mon site en grandes difficultés Débuter en référencement 17 Août 2008
Les Grandes Gueules du web : pourquoi eux ? Le café de WebRankInfo 6 Mai 2007
Les grandes pensées de WRI Le café de WebRankInfo 22 Août 2006
La fin des grandes manoeuvres Référencement Google 7 Décembre 2003
Lenteurs d'indexation Google Crawl et indexation Google, sitemaps 18 Juin 2019
Problème de chargements JS et lenteurs Développement d'un site Web ou d'une appli mobile 6 Septembre 2013
Lenteurs avec php 5.3 Développement d'un site Web ou d'une appli mobile 18 Octobre 2011
Widgets facebook, lenteurs et cloaking Référencement Google 11 Février 2011
Lenteurs serveur Administration d'un site Web 8 Février 2011
[Dédié] Lenteurs alors que tout paraît OK Administration d'un site Web 8 Avril 2007
lenteurs d'indexation Référencement Google 25 Juillet 2006