Passage de PHP4 à PHP5 : fonctionnement très ralenti
Posté : 05 déc. 2007, 18:32
Bonjour.
J'ai migré une application d'un ancien serveur sous SUSE 9 tournant avec PHP4 et une base Mysql v. 4 vers un nouveau serveur, plus rapide, sous SUSE 10 exécutant PHP5 en relation avec une base Mysql v. 5. Sans trop me prendre la tête, je me suis cantonné à recopier le code et un dump des base sur le nouveau serveur. Après un ou deux petits aménagements marginaux (renommer les occurrences de $HTTP_COOKIE_VARS en $_COOKIE, entre autres), mon application tourne.
Cependant, l'exécution en est considérablement ralentie, au point que la page principale (un tableau de 80x60 colonnes) ne parvient pas à se charger complètement.
Lorsque en exécutant le code sur le nouveau serveur j'attaque les bases de l'ancien, le fonctionnement est ralenti de façon similaire. A l'inverse, la différence de version entre le client MySQL de l'ancien et le serveur du nouveau m'empêche de voir si le code en php4 est ralenti aussi en attaquant la base en MySQL v. 5.
Nonobstant, je tendrais à incriminer la version PHP5. J'ai de l'ordre de 5000 lignes de code, construit par couches successives, parfois à plus de 4 mains, et j'ai du mal à m'y retrouver moi-même, donc je vous épargnerai les exemples, mais je voudrais savoir si ce problème de lenteur au passage à PHP5 est connu, et si des techniques simples sont applicables pour y remédier.
L'alternative étant de tout reprendre à zéro ou presque...
J'ai migré une application d'un ancien serveur sous SUSE 9 tournant avec PHP4 et une base Mysql v. 4 vers un nouveau serveur, plus rapide, sous SUSE 10 exécutant PHP5 en relation avec une base Mysql v. 5. Sans trop me prendre la tête, je me suis cantonné à recopier le code et un dump des base sur le nouveau serveur. Après un ou deux petits aménagements marginaux (renommer les occurrences de $HTTP_COOKIE_VARS en $_COOKIE, entre autres), mon application tourne.
Cependant, l'exécution en est considérablement ralentie, au point que la page principale (un tableau de 80x60 colonnes) ne parvient pas à se charger complètement.
Lorsque en exécutant le code sur le nouveau serveur j'attaque les bases de l'ancien, le fonctionnement est ralenti de façon similaire. A l'inverse, la différence de version entre le client MySQL de l'ancien et le serveur du nouveau m'empêche de voir si le code en php4 est ralenti aussi en attaquant la base en MySQL v. 5.
Nonobstant, je tendrais à incriminer la version PHP5. J'ai de l'ordre de 5000 lignes de code, construit par couches successives, parfois à plus de 4 mains, et j'ai du mal à m'y retrouver moi-même, donc je vous épargnerai les exemples, mais je voudrais savoir si ce problème de lenteur au passage à PHP5 est connu, et si des techniques simples sont applicables pour y remédier.
L'alternative étant de tout reprendre à zéro ou presque...