Quelques pistes d’optimisation pour votre site internet
Optimisation, Site Internet Aucun Commentaire »Vous avez fini votre site et vous êtes tout content de votre travail ? Maintenant il va certainement falloir l’optimiser niveau serveur et niveau code car même si des tests ont été effectués et qu’ils étaient concluants, des problèmes peuvent subvenir à fort trafic … impossible presque de reproduire dans un cadre fermé de 2 ou 3 développeurs. Je vais vous donner quelques tuyaux pour optimiser votre site.
Pour PHP :
- Mettre un cache d’opcode (APC) qui permettra de mettre en cache le résultat du code déjà interprété et cela évitera de reperdre du temps à reparcourir le fichier PHP en vue de le réinterpréter.
- Optimiser votre code et utiliser les fonctions de PHP judicieusement et de manière réfléchie … telle ou telle fonction (exemple : require_once par rapport à require ; tout bon programmeur qui maitrise son sujet utilisera require plutot que require_once qui est statistiquement 40 X moins rapide puisqu’elle doit effectuer des tests supplémentaires)
- Je le répète trop souvent et trop d’erreurs sont faites, veillez à ce que la base de données soit pas la poubelle ambulante pour des données volatiles. Une base de données est d’abord faite pour stocker des données sur le long terme (compte, articles) mais pas à gérer les sessions des visiteurs ! Certain vont me dire oui mais il y a les tables en mémoire … une table en mémoire même si supprime des données ne libèrera pas les données supprimées, au bout du compte, le serveur sera à court de mémoire et risque de “swapper” puis ne plus répondre si toute la RAM est consommée. Pour ce qui est du stockage à court terme, penser à utiliser “Memcache” qui permet d’utiliser de la RAM afin de stocker des données volatiles. un accès en RAM est largement plus rapide que sur disque dur.
- Penser à libérer les ressources de connexion à une base de données afin que le serveur de base de données puisse répondre à d’autres connexions
- Penser à faire tous vos traitements en début de page et à utiliser qu’une seule connexion, afin d’éviter de faire des traitement inutiles, nous pouvons mettre en cache les données qui sont par exemple rafraichies une fois toutes les 4 heures, si cela doit être instantané dans ce cas, Memcache peut vous aider !
Pour le Javascript et les CSS :
- Il faut “minify” votre code Javascript ou CSS afin que celui-ci prenne moins de place, cela permettra de le renvoyer plus rapidement au navigateur. Pour le Javascript, le code initial sera raccourci mais fonctionnera toujours (exemple : une fonction verifEmail sera nommée v)
Pour Apache :
- Installer mod_deflate (Apache 2) ou mod_gzip (Apache 1) afin de compresser les pages html et les renvoyer plus rapidement vers le navigateur du visiteur qui les décompressera à la volée. Cela induit une compression et donc une petit surcharge serveur mais mod_deflate met en cache les pages compressées et donc compresse la page une seule fois si celle-ci ne change pas.
- Installer mod_headers afin de préciser au navigateur de garder en cache les pages pendant une certaine durée (exemple les images)
A noter qu’à tout ceux qui vous disent que l’optimisation sert à rien, je leur répond clairement : “la planète est la pour accueillir tes idioties …”. Je m’explique, une optimisation peut faire gagner de la RAM et du processeur ; un serveur a des limites, une fois les limites atteintes, il faut remettre un autre serveur tout ceci n’est pas du tout écologique et pas du tout économique. Sur un gros trafic, cela devient très pénalisant ! Pensez juste et pensez optimisation, tous les sites se porteront mieux ! (Rappel : un serveur économisé est quand même une économie de 100 W, multiplié par un certain nombre de serveurs, cela fait de l’électricité en moins)
Il suffit juste de réfléchir un peu et de demander des conseils à droite et à gauche ! Maintenant si vous ne vous sentez pas capable d’optimiser correctement, demandez nous ! Il est dès fois possible d’éviter l’utilisation de 5 serveurs et au final de réussir à faire tourner un site sur 2 serveurs; gérer 5 serveurs par rapport à gérer 2 serveurs n’est pas du tout la même chose !

Derniers Commentaires