Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1851 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Génération la plus rapide... et la plus fiable ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Génération la plus rapide... et la plus fiable ?

n°712126
christophe​_d13
L'efficacité à tout prix.
Posté le 29-04-2004 à 18:06:01  profilanswer
 

J'ai développé en PHP le site de ma boite.
 
Etant donné que je débutais en PHP à l'époque, je faisait ce que je pouvais... Pour faire simple, le code mélangeait les commandes "echo" et "mysql". Le seul problème c'est que parfois le navigateur internet (IE ou Mozilla) s'arrétait en cours de réception du fichier HTML ainsi généré... La page n'était pas complètement chargée.
 
J'ai donc revue entièrement le code et je n'envoi plus qu'un ou plusieurs "echo" lorsque mes traîtements sont entièrement finis. Les plantages de ce type ne se font plus du tout et l'affichage/téléchargement est plus rapide.
 
Mais voilà bien mon problème : Il arrive parfois (cela reste très rare, mais ça arrive) que la page ne se charge pas du tout (elle est vide). J'ai l'impression que la durée d'exécution de mon code est trop importante (je me trompe peut-être).
 
Evidemment ces désagrémments ne se font pas en local mais uniquement avec notre hébergeur et surtout lorsque l'on fait des essais en RTC ou ADSL chargé.
 
J'ai cherché dans pas mal de sites, mais je n'ai rien trouvé de très concluant... Pour mon hébergeur, la réponse c'est : "votre code doit être mal écrit" sauf que la même page avec les mêmes paramètres fonctionne très bien dans presque 100% des essais.
 
Hébergeur ? Problème de paramètres des fichiers de config ? Mon code est-il pourri ?
 
Un post sur le bench des hébergeurs montrent qu'une même page peut s'exécuter très rapidement à l'instant t et très lentement à t+1.
 
Edit: J'ai oublié la sous-catégorie...


Message édité par christophe_d13 le 29-04-2004 à 18:07:42
mood
Publicité
Posté le 29-04-2004 à 18:06:01  profilanswer
 

n°712180
kfman
Credo quia absurdum
Posté le 29-04-2004 à 18:58:25  profilanswer
 

T'as essayé de mettre un "flush" pour forcer l'affichage ?


---------------
"Nous allons reformater les français" © Nicolas Sarkozy
n°712185
T509
$job->GetJob(now)
Posté le 29-04-2004 à 19:02:56  profilanswer
 

Ce qui doit pénaliser le temps d'exécution de ton script, ce sont les accès à la base.
 
As tu pensé à calculer le temps de génération des pages, à optimiser tes requètes SQL ?
 
Un exemple : au debut, je faisais sur les serveurs Free une requete SQL pour obtenir 1 champ d'une table (toutes les valeurs distinctes). En fonction de cette info, je faisais un boucle qui, avec une autre requête, allait chercher les infos à afficher.
 
Résultat, si la première requête contenait 100 lignes, je faisais donc 101 requetes SQL.
Le serveur plantait 1 fois sur 2. Temps d'execution du script : mini 4s.
 
J'ai maintenant le même résultat en 1 seule requête et le temps de génération de la page est passé à 0.02s
 
L'optimisation de tes requêtes SQL t'aidera surement


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°712233
christophe​_d13
L'efficacité à tout prix.
Posté le 29-04-2004 à 19:42:48  profilanswer
 

J'ai en fait 3 requètes dans mon code pour 3 tables... Je vois pas trop comment faire 1 requète pour 3 tables.
J'ai essayé le flush mais cela ne change rien.
 
Il faudrait que je fasse un test chez un autre hébergeur mais le site est assez tordu tout comme sa base... Pourtant y a pas de blob !
 
T509> Je pense que je vais afficher un petit texte (tout petit en blanc sur blanc) qui indiquera le temps de génération de la page. Bonne idée !
 
Le seul hic, c'est que quand ça va planter je ne connaîtrais pas le temps de génération de la page... sauf si je génère un fichier de rapport que je lis avec une autre session du navigateur... Je vais déjà faire ça (demain) pour tenter de comprendre.
 
Up: J'ai une fonction qui me modifie le html pour faire sauter un max de trucs inutiles (commentaire, espace, retour chariot...). La page fait au final 27Ko... A la base, elle faisait plus de 100Ko mais j'ai revue tout le code alléger les fonctions, ajouter du javascript pour générer des lignes répétés dans la page... Au final, j'ai fait sauter pas mal de code java... tout ça pour finir dans ce 27Ko...
 
Mais je ne fais pas que lire la base, je lis aussi en général une quinzaine de fichiers dont je formate le contenu...


Message édité par christophe_d13 le 29-04-2004 à 19:51:54
n°713231
ratibus
Posté le 30-04-2004 à 22:02:53  profilanswer
 

Essaie de mettre dans ta page des appel à microtime() pour bencher ta page et afficher les temps de génération.
Tu verras ainsi si certaines parties du code sont pénalisantes.

n°713304
christophe​_d13
L'efficacité à tout prix.
Posté le 30-04-2004 à 23:45:30  profilanswer
 

C'est ce que j'ai fait...
J'ai également revue l'architecture du code pour améliorer les lacunes...
J'arrive aujourd'hui des générations très courtes : 130 à 500ms pour la même page.
 
Mais je pense que mes problèmes viennent la génération de la page HTML.
Je m'explique : Dans une page, il y a une liste de produits. Chacun peu avoir sa propre construction et donc sa propre feuille de style... Même si plusieurs produits peuvent partager le même css.
 
Après encore de nombreux essais je penche plus pour un problème du code HTML. Il semble que ce dernier ne soit pas totalement téléchargé...  
 
Donc ma question : Lors d'un transfert du code HTML du serveur au client, dans quelle mesure ou pour quelles raisons la transmission peut être brutalement interrompue ?
 
Le contenu HTML a-t-il une influence ? (je ne pense pas, mais je me trompe peut-être).

n°713306
christophe​_d13
L'efficacité à tout prix.
Posté le 30-04-2004 à 23:54:31  profilanswer
 

Up: En analysant la transmission, entre le client et le serveur... Le débit qui est normalement assez élevé (en ADSL) de 30 à 50Ko/s tombe parfois à 3 ou 4Ko/s... Mais qui est responsable ? Le FAI, l'hébergeur, la connexion, le navigateur ?

n°713337
KdZ'
Simple®
Posté le 01-05-2004 à 01:37:51  profilanswer
 

L'hébergeur ;)

n°713365
pascal_
Posté le 01-05-2004 à 09:32:19  profilanswer
 

KdZ' a écrit :

L'hébergeur ;)


 
Tu est sûr ? Si son script est vraiment lent, ne peut-il pas envoyer que 5 ko/s ?

n°713466
KdZ'
Simple®
Posté le 01-05-2004 à 13:57:13  profilanswer
 

A mon avis soit ça vient des serveurs de ton hebergeur qui sont un peu leger, soit c un pb de bande passante (mais toujours au niveau de l'hebergement)

mood
Publicité
Posté le 01-05-2004 à 13:57:13  profilanswer
 

n°713524
christophe​_d13
L'efficacité à tout prix.
Posté le 01-05-2004 à 15:04:11  profilanswer
 

Je vais tenté de faire un essai chez free dés que je pourrais.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Génération la plus rapide... et la plus fiable ?

 

Sujets relatifs
[PHP] Super globales et directive error_reporting sur E_ALLcomment executer un fichier .sh avec une cmd PHP ?
[PHP ASP] Devinette.[php] Controler acces intranet par mot de passe Windows
[PHP] venez tester mon forumDoc officielle PHP buguée
[PHP]Problème avec les variables de sessionmenu déroulant dynamique en php
connection OLE DB et PHP?PHP - Permuter lignes tableau
Plus de sujets relatifs à : [PHP] Génération la plus rapide... et la plus fiable ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR