Qu'est-ce qui ralentit un site web?

WRInaute discret
Bonjour,

Je suis en train de créer mon premier site web sérieux et je me demandais qu'est-ce qui ralenti le plus le chargement de la page?

J'ai pense a plusieurs choses mais je ne sais pas lesquelles sont vraiment a ne pas négliger et lesquelles je peux oublier ou encore celles que j'ai (surement) oublié:

- connection database (a mon avis le plus long mais j'en utilise qu'une sur mon site donc ...)
- requêtes mysql, est-il mieux de lier les tables entres elles pour gagner en performances?
- feuilles css, est-il mieux de créer une feuille css / page plutôt qu une grande pour toutes les pages?
- qu'est-ce qui est le plus rapide a charger? Www.domaine-autre-site.com/image.png ou simplement une image qui est sur ton serveur (\photos/image.png) ?
- encore?

Ps: J'ai 16 ans et payer 10€/mois pr un serveur est assez compliqué pour la tirelire d'un adolescent, je suis donc sur un hébergeur gratuit (Olympe). J'en suis d'ailleurs très content! Mais que me conseillez-vous? Passer quand mon site rapportera un peu directement a un hébergeur payant ou bien Olympe est convenable encore un bout de temps?

Merci de votre aide et a bientôt j'espère [WINKING FACE]

Matthieu
www.summaries.be (!site encore en construction [CONSTRUCTION SIGN] et pour le moment seulement en néerlandais...)
 
WRInaute discret
Re: Qu'est-ce qui ralenti un site web?

Ca va Madri2 ;-) mais pr le moment il n'y a pas de pubs mais j'y penserai quand j'en mettrai plus tard ;-)

Sinon quoi d'autre ? Par exemple dans ma petit liste?

@+

Matthieu
 
WRInaute impliqué
Re: Qu'est-ce qui ralenti un site web?

- qu'est-ce qui est le plus rapide a charger? Www.domaine-autre-site.com/image.png ou simplement une image qui est sur ton serveur (\photos/image.png) ?
je dirais le même serveur

et ce qui peut être long c'est la bdd et l'évaluation du code (php ou autre)
 
WRInaute occasionnel
Re: Qu'est-ce qui ralenti un site web?

Hello,

C'est un peu délicat à dire, car tout peut être facteur de ralentissement...
On n'a pas de code sous les yeux, donc ça sera difficile de te guider...

Mais déjà il peut y avoir la machine ou le code php, la BdD, les images, les fichiers (js, css...).
Bref, on peut voir le mal partout ^^

Pour les images, oui ! un sous domaine suffit, même sur le même serveur ;)
Là, il faut regarder les performances navigateurs... Requêtes multiples...
 
WRInaute impliqué
Re: Qu'est-ce qui ralenti un site web?

ce qui importe, c'est que le visiteur va rapidement voir que quelque chose se passe, donc c'est le temps de génération de la page html qui importe. et ce qui ralentit le plus, c'est le plus souvent les requetes sql. donc il faut, oui, mettre des index là où c'est nécessaire.
 
WRInaute accro
Re: Qu'est-ce qui ralenti un site web?

Pingdom est un outil (en anglais) qui fournit des informations très utiles sur la vitesse de chargement d'une page.

SI le site est sur un hébergement mutualisé, la performance dépendra aussi de la charge totale du serveur, donc de ce que font les autres sites.

Jean-Luc
 
WRInaute impliqué
Re: Qu'est-ce qui ralenti un site web?

Bonjour,

A l'inverse de ce que l'on pourrait croire, le temps d'affichage d'une page web dépend seulement de 20% du temps de génération du fichier HTML coté serveur, et 80% pour le téléchargement et interprétation des scripts et affichage des ressources.

Il faut bien évidemment éviter les requêtes SQL trop lentes, mais un système de cache peut souvent aider si besoin.
Par contre le respect de bonnes pratiques (js chargés en fin de pages, css en tout début, images compressées/préchargées, minification...) peut réellement accélérer l'affichage du site.

C'est une équipe de Yahoo qui a démocratisé ces bonnes pratiques avec l'outil YSlow ( https://developer.yahoo.com/performance/ ) puis Google les a enrichi avec l'outil PageSpeed ( https://developers.google.com/speed/pagespeed/?hl=fr )

Quelques ressources utiles :
Le blog de Steve Souders à l'origine de l'équipe performance chez Yahoo (maintenant chez Google) http://stevesouders.com/
ainsi que ses 2 livres qui sont indispensables : http://www.amazon.fr/Steve-Souders/e/B001I9TVJS
L'outil de test http://www.webpagetest.org/
Le mod pagespeed pour apache avec la doc en FR https://www.webrankinfo.com/dossiers/webmastering/site-rapide

Pour répondre aux questions:
- feuilles css, est-il mieux de créer une feuille css / page plutôt qu une grande pour toutes les pages?
Il vaut mieux créer une feuille de style pour tout le site, et bien gérer le système de cache coté navigateur (expire headers très lointains et etags désactivés). Il faut aussi activer la compression et pourquoi pas minifier le fichier css ( http://cssminifier.com/) .

- qu'est-ce qui est le plus rapide a charger? Www.domaine-autre-site.com/image.png ou simplement une image qui est sur ton serveur (\photos/image.png) ?
Il vaut mieux éviter d'utiliser un seul domaine car le nombre de ressources téléchargées en parallèle est limité, et éviter de trop nombreux domaines différents car le temps de résolution DNS peut être important. Mais héberger toutes ces images sur un autre domaine est sans doute une bonne idée.
 
WRInaute discret
Re: Qu'est-ce qui ralenti un site web?

Bonjour,

Merci de vos nombreuses réponses!

Alors voici ce que j'ai déjà appris grâce à vous:

Donc une grande feuille css/site,
Images dans sous-domaines,
Bonnes pratiques du style script en bas de pages , etc,
Etc

Par contre ce qui n'est pas encore tout a fait claire pour moi:

Vous parliez d'images prechargees, compressées, mimifiees mais, je suis désole, je ne vois absolument comment on pourrait le faire? Je vais essayer de trouver un bon tutoriel...

Sql trop lentes: Ce sont des requêtes avec beaucoup de résultats, longues requêtes, avec certains mots clé, ...?

Mise en cache: Jai lu un tutoriel sur le site du zéro avec l'extension APC. Ils m'ont appris comment mettre une variable en cache mais je ne vois pas vraiment quoi on peut mettre d'autres en cache... Mon site est plutôt un site dynamique. Est-ce que mettre une variables long de 20 mots en cache est utile?
Et mettre des requêtes en cache, C'est le résultat des requêtes? Si cest le cas je n'en voit pas vraiment l'utilité car (chez moi) j'utilise souvent des paramètres du type 'WHERE x = :y' etc ...

Bref deja pas mal de réponse mais malheureusement encore quelques questions ;-)

Merci et @+

Matthieu
 
WRInaute impliqué
Re: Qu'est-ce qui ralenti un site web?

Bonjour,

Pour les images préchargées, c'est utile losrque l'on présume que les utilisateurs vont se rendre sur une page particulière, ou groupe de pages particulières depuis la page d'accueil. Donc à la fin du chargement de la page d'accueil, on va précharger les images pour les pages suivantes.

Pour les images compressées, on utilise PNG ou JPEG suivant le type d'images (au pire on fait des tests!), et ensuite on utilise des outils comme https://imageoptim.com/fr.html sur Mac, http://www.smushit.com/ysmush.it/ en ligne, http://www.jpegmini.com/ sur Mac et PC, avec une version lite fonctionnelle.

Pour les scripts javascript, la minification permet de réduire la taille du fichier en appliquant certaines règles comme:
suppression des caratcères espaces inutiles, renommage des variables avec des noms plus courts...

Il faut ensuite activer la compression pour les fichiers HTML, CSS et JS (inutile pour les images) ; avec Apache via un fichier htaccess ou fichier de configuration.

Pour la mise en cache, APC est utile car en plus de la partie mise en cache, il permet d'optimiser le chargement des scripts PHP. Personnellement je n'utilise APC que pour ça. Mettre en cache des variables n'est pas utile, par contre le résultat de requêtes SQL peut l'être.
Pour la mise en cache, on peut imaginer faire une tache cron qui toutes les x heures va générer le fichier Html pour une page donnée, puis va la stocker sous forme de fichier .
Un membre de WRI avait donné une solution ici : https://www.webrankinfo.com/forum/t/script-mise-en-cache-des-pages-php.28614/

Le principal c'est de bien comprendre les techniques et de les utiliser au cas par cas en fonction de son site et de ses besoins.


Bon courage!
 
WRInaute discret
Re: Qu'est-ce qui ralenti un site web?

Salut Bigb06 et les autres,

Merci pour les conseils & tous les liens!


Voila j'ai suivi ton lien vers le sujet sur WRi sur la mise en cache.


Jai décidé de REPONDRE sur CE sujet parce-que c'est mieux adapté à mes questions ... Donc je vous invite a suivre le lien du post ci -dessus ;-)

@+

Matthieu
 
WRInaute accro
Re: Qu'est-ce qui ralenti un site web?

APC c'est surtout du cache d'opcode: http://en.wikipedia.org/wiki/List_of_PHP_accelerators
Depuis PHP 5.5, OPCache est intégré par défaut.

Pour booster PHP:
- http://hhvm.com/
- http://hippyvm.com/

Pour mettre des variables (résultats requêtes, calculs lourds, etc) en cache:
- Redis: http://redis.io/
- Memcached: http://memcached.org/

On peut aussi remplacer Apache par Nginx, utiliser Varnish, ajouter un "jitter" au cache (pr randomiser la durée de vie), ...
 
Discussions similaires
Haut