Comment optimiser les temps de chargements des pages .

WRInaute occasionnel
Bonjour à tous,

Je souhaiterais optimiser mon site afin d'améliorer les temps de chargements des pages.

Selon vous, qu'est ce qui est le plus couteux?

- Trop de php
- Trop de requètes mysql
- Trop de gifs dans la page (beaucoup mais tout petits)
- Des grosses images (peu mais assez gros)
- Des iframes.

Quelle est la répercutions exacte des connexions/déconnexions à la base SQL en terme de performances (vaut-il mieux une connexion en début de page et une déco à la fin ou une connexion/deconnexion à chaque requete?)

Bref, à votre avis, qu'est ce qui est le plus préjudiciable et par conséquent que vaut-il mieux optimiser en premier?

Si vous avez des astuces de toute sorte, je suis preneur aussi bien sur :)

Est-ce qu'il existe un outil qui permettrait de savoir précisément le temps
que prends chaque opération que fait IE pour afficher la page? (analyse du
script, chargement des images, analyse de l'html, etc...)
En gros un truc comme V-Tune pour ceux qui connaissent...

Merci d'avance pour vos lumières.
 
WRInaute discret
Re: Optimisation...

Chewee a dit:
Quelle est la répercutions exacte des connexions/déconnexions à la base SQL en terme de performances (vaut-il mieux une connexion en début de page et une déco à la fin ou une connexion/deconnexion à chaque requete?)

Dans le code iL faut que tu différencie la logique métier de la logique d'affichage, autrement dit marquer le clivage entre fond et forme. Concrètement ca veut dire en haut de page, tu commences par ouvrir ta connexion sql, tu effectues toutes les requetes puis tu refermes ta connexion. Ensuite seulement tu peux t'atteler à la phase "Comment vais je afficher le résultat de ces requetes ?", avec les while, foreach au sein de tes templates...
 
WRInaute occasionnel
Re: Optimisation...

Delapouite a dit:
Dans le code iL faut que tu différencie la logique métier de la logique d'affichage, autrement dit marquer le clivage entre fond et forme. Concrètement ca veut dire en haut de page, tu commences par ouvrir ta connexion sql, tu effectues toutes les requetes puis tu refermes ta connexion. Ensuite seulement tu peux t'atteler à la phase "Comment vais je afficher le résultat de ces requetes ?", avec les while, foreach au sein de tes templates...

Merci pour ta réponse mais la structure de mon site ne permet pas de faire comme ça :(

Ma page est composée de plusieurs blocs.

En fait, à la limite, je pourrais faire ça pour chaque bloc séparément, c'est à tester, mais pour la page entière, c'est impossible.
 
WRInaute impliqué
Il faut à mon sens différencier ce qui est génération de page et chargement (l'envoi de celle ci au client).

Pour la génération de la page, le php consomme certes, mais c'est pas ce qui consomme le plus si le code est bien optimisé. Sauf pour des pages très lourdes à générer (avec des calculs), le cache de toute la page n'est pas forcément nécessaire et n'apporte pas un gain énorme.
Pour le MySQL, la c'est beaucoup plus interressant. Au niveau des connexions, je dirais qu'il faut connecter juste avant la première requête et déconnecter juste après la dernière. Et ca évite si jamais tu es limité en nombre de connexions, d'avoir des pages où seulement la moitié des requêtes a pu se faire. Au moins la si tu te connecte, tu es connecté pour toute la génération de la page.
Pour le cache, ca peut être interressant de mettre en cache celles qui consomment le plus de ressources et pour lesquelles le résultat ne change pas chaque seconde.
Un exemple: sur la page d'accueil de mon site en www, la liste des derniers messages est mis en cache pendant 30mn, ce qui évite d'accéder à la base sql depuis la page d'accueil.

Pour les temps de chargement, c'est entièrement lié au poids de la page et des éléments (css, images, javascript). Une page de 50-80ko images incluses c'est acceptable. Il faudrait éviter de le dépasser (sauf peut être pour un site de photos et autres cas particuliers...)
 
WRInaute occasionnel
Ouais pas mieux que le dernier point.
Une connection en debut une deconnection en toute fin, du caching de tes requetes tant que tu peux.

Essaies egalement d'optimiser tes requetes, une requete mal concue peut prendre un temps infini à s'executer.

Optimiser le poids des pages (pas de mise en page qui utilise de tableau par exemple), diminuer la taille des images quand tu peux, diminuer le nombre d'images par page si tu sais.

Et voila.

La prochaine etape de mon site sera de diminuer le poids des pages avec notamment la diminution du css et la diminution du poids de certaines images ou du nombre d'images sur la page d'entrée.
 
WRInaute impliqué
Bonsoir,
Sur un de mes sites j'ai constaté que quand je modifier un fichier il prenait du poids meme si j'enleve du code.
Alors une fois par mois je crée de nouveau fichier et j'y colle mon code comme ça j'economise en espace et en bande passante.


ça reste à confirmer.

@+
 
Discussions similaires
Haut