|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 498
|
Posté le : Ven Avr 25, 2008 19:33 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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 |
|
| |
|
 |
tonguide WRInaute accro

Inscrit le: 28 Nov 2003 Messages: 1131
|
Posté le : Ven Avr 25, 2008 19:54 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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 ? |
|
| |
|
 |
[--Eric--] WRInaute impliqué

Inscrit le: 06 Jan 2004 Messages: 404
|
Posté le : Ven Avr 25, 2008 22:12 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
Suede WRInaute accro

Inscrit le: 04 Oct 2002 Messages: 3665 Localisation: Suède
|
Posté le : Lun Avr 28, 2008 6:52 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 498
|
Posté le : Lun Avr 28, 2008 11:39 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 498
|
Posté le : Dim Mai 04, 2008 10:49 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
tonguide WRInaute accro

Inscrit le: 28 Nov 2003 Messages: 1131
|
Posté le : Dim Mai 04, 2008 12:51 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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 ... |
|
| |
|
 |
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 498
|
Posté le : Dim Mai 04, 2008 14:49 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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é). |
|
| |
|
 |
tonguide WRInaute accro

Inscrit le: 28 Nov 2003 Messages: 1131
|
Posté le : Dim Mai 04, 2008 16:46 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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). |
|
| |
|
 |
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 498
|
Posté le : Dim Mai 04, 2008 18:23 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
tonguide WRInaute accro

Inscrit le: 28 Nov 2003 Messages: 1131
|
Posté le : Dim Mai 04, 2008 18:45 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
cedric_g WRInaute accro

Inscrit le: 18 Jan 2006 Messages: 1531 Localisation: Aube
|
Posté le : Dim Mai 04, 2008 19:01 Sujet du message: Grandes lenteurs depuis le passage a PHP 5 |
|
|
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. |
|
| |
|
 |
| |
|
|