Qui c’est qu’a la plus grosse ?…

Ah ah ah, ce titre racoleur :D

Non, rassurez-vous, dans ce billet je vous parlerai plutôt d’optimisation de site Web et non de ce à quoi vous pensez petit canaillou.

Récemment, je suis tombé sur un outil online permettant de réaliser un benchmark de votre site web.

Le site http://gtmetrix.com/ vous propose donc d’évaluer votre site grâce à des outils bien connus des développeurs : Yslow et PageSpeed.

Je n’ai jamais fait très attention au code de mon blog (bah oui, je ne suis pas du tout développeur :-) ), mais cet outil proposé par Gossamer (rien a voir avec les préservatifs hein… (ok, elle est très capilotractée cette blague :-p ) ) est assez intéressant pour plusieurs choses.
Tout d’abord connaître les « faiblesses » de votre site web, en apprendre un peu plus sur les choses à optimiser pour qu’il soit un tantinet plus rapide (surtout à forte charge) et bien sûr, améliorer son référencement. Car Google référencera plus facilement et devant les autres un site web dont le « Page Speed » est important.

Il y a plusieurs mois, je vous avez déjà parler de l’optmisation de mon blog via eAccelerator et Memcached dont les résultats comblaient toutes mes attentes.
Serein, je me suis donc empressé de « benchmarker » mon blog et oh surprise, c’était plutôt pas terrible du tout (yslow C et Page speed D).

En fait, a y regarder de plus près, et en passant d’autres blogs/sites à la moulinette, c’est un peu un cas général…

Ni une, ni deux, me sentant grandement motivé par ce challenge (oui gros challenge pour moi quand il s’agit de plonger dans du code php :-) ) je me suis attelé à suivre les conseils de Gtmetrix (via les liens Yahoo et Google).

Rien de bien difficile, et les résultats après quelques heures de travail sont surprenant.

D’ailleurs on se rend compte de pas mal d’erreur de conception dans WordPress et l’une des difficultés rencontrée était de positionner les codes javascript en pied de page.

Heureusement, Lyza Gardner nous a écrit un excellent tuto pour résoudre ce problème :

http://www.cloudfour.com/getting-all-javascript-into-the-footer-in-wordpress-not-so-fast-buster/

Tout cela c’est super, bien sympa, et puis on se dit, pourquoi pas plus ?…

Professionnellement, nous utilisons des CDN, des Content Delivery Network, dont le leader est Akamaï.

Il y a bien sur Amazon ou d’autres qui proposent ce genre de service, mais j’ai un gros faible pour Akamaï pour plusieurs raisons personnelles.

D’abord j’ai travaillé avec Akamaï lors de leur arrivée sur le marché français à la fin des années 90 (oui oui, j’ai eu une formation d’ intégrateur Akamaï :-p) et j’y ai cotoyé des gens formidables et très enrichissants professionnellement, qui plus est avec une techno révolutionnaire a cette époque (les membres de l’équipe de cette époque se rappeleront sans doute avec nostalgie le fameux coup de génie M6 Loft Story ;-) )

J’y ai perdu également une personne que j’aimais beaucoup, Daniel Lewin, un homme extrémement enrichissant que j’appréciais énormément et qui a eu le malheur de se trouver au mauvais endroit le 11 septembre 2001.

Bref, j’ai toujours était très attaché a cette entreprise (d’ailleurs mon premier site Web était gracieusement « akamaïsé » :D ), mais cela reste une offre professionnelle et pour un particulier disposant d’un simple blog, c’est un peu « too much » (et « too expensive » surtout..)

J’ai regardé du côté des CDN « gratuit » du genre CoralCDN dont le but est clairement intéressant mais ne semble plus suivi. Pourtant cela marche toujours et vous pouvez vous essayer à votre premier « CDN » avec eux.

Le CDN par soi-même, simple a mettre en oeuvre, il demande toutefois que vous disposiez de serveurs géographiquement distants et comble de la perfection, attachés a des points de peering intéressants.

Bref, j’avais un peu laisser tomber tout cela jusqu’a ce que je tombe la dessus :

http://code.google.com/p/cirruxcache/

« CirruxCache provides a software solution to dynamically cache HTTP objects on Google Appengine (using the Datastore and the Memcache services). »

En traduction demi-molle « CirruxCache vous permet de faire du cache HTTP via l’infrastructure Google Appengine ».

WTF ??? Alors ça, ca me semblait bien fun :D

Je fouille un peu le site et oh surprise, Antoine Libert, sur son blog, nous offre un excellent tuto pour sa mise en oeuvre !!!

Tout d’abord, merci Antoine pour cet excellent article et le lien qu’il vous faut absolument lire :

http://a-l.fr/blog/2009/11/28/how-to-use-cirruxcache-and-google-app-engine-to-cache-static-content-of-your-wp-blog/

Rajoutez a cela, un superbe plugin WordPress pour les CDN :

http://mark.ossdl.de/2009/08/rewriting-urls-for-wordpress-and-cdn/

Le résultat est flagrant :

PageSpeed avec un score de 98….

Reste la comparaison avec d’autres sites pris au hasard ;)   :

Ok, on écrase google.com, free.fr ou ovh.fr (même si google se charge plus vite, forcément :) )

On peut se la péter grave en société avec ça :mrgreen:

Donc tout cela pour vous dire que cette phase de travail a été enrichissante pour moi, que bien sûr il reste du boulot pour monter encore un c’hti peu (pas PageSpeed  hein, je crois qu’on ne peut pas monter plus haut, du moins, je n’ai trouver aucun site Web avec un tel niveau ou supérieur), mais comprendre un peu mieux une partie que je déteste d’habitude, le code :( .

Bilan surtout sur CirruxCache et Google Appengine qui me parait une excellente solution de CDN dans des infras HA, permettant de soulager un peu vos serveurs, dans la limite, du moins, de ce que Google vous offre gratuitement comme ressource (après c’est payant bien sûr, faut pas déconner non plus…)

Amusez-vous bien :D

Ce billet a été posté dans architecture, linux et taggé , , , , . Bookmark ce permalink.

9 commentaires sur “Qui c’est qu’a la plus grosse ?…

  1. Très interessant gtmetrix comparé a yslow et pas speed car les explications en plus notamment pour page speed sont plus claires et intéressantes.

    Pour un de mes sites particulièrement travaillé A avec 97 pour yslow (normal sur firebug c’est bien expliqué) et il ne me reste que l’étape cdn qui manque. Par contre B en page speed.
    Je n’avais pas compris l’élément de mettre plusieurs noms de domaine differents quand trop d’objets viennent du même host (serveur images) avec les explications c’est bien plus évident.

  2. Article très riche d’infos pour des aspects souvent insoupçonnés Y COMPRIS dans le domaine professionnel.
    hop.. dans mes bookmarks..
    S.

  3. « pas mal d’erreur de conception dans WordPress » -> Je pense que le problème est est lié au template « Pixel » que tu utilises, et non pas WordPress
    Article intéressant en tout cas!

  4. Si j’en crois l’analyse de Lyza Gardner, cela concerne bien le moteur WP et non le thème.

    merci :)

  5. Salut,

    je suis l’auteur de CirruxCache. Si besoin d’aide ou commentaires sur le proj, vous pouvez me contacter sur la mailing-list (anglais de préférence, mais en français ça passe aussi).

    Au passage, merci pour la pub ;)

    - Samuel Alba

  6. Hello Sam,
    Merci a toi pour ton projet qui est tout simplement excellent :D

    Pas de soucis pour t’embeter si on a des questions :)

    Merci encore pour ton travail !