Go Fast !

Sébastien Simoni le Jeudi 6 Novembre 2008

Nous avons poussé beaucoup plus longtemps que prévu notre phase optimisation de l'architecture WMaker.

En fait, 5 personnes ont travaillé pendant un mois sur l'amélioration de la vitesse d'affichage de vos sites et des interfaces administration.

Le point de départ: la hausse du trafic

Il y a 1 mois, nous avons eu une hausse très rapide du trafic : + 35 % de pages en plus. Nous n'avions pas prévu une hausse de trafic aussi importante en 2 semaines.

A l'époque, nous avions déjà acheté 8 nouveaux serveurs extrêmement puissants.  Ce sont des Bi-Xeon QuadCore de dernière génération, dotés de 16 Go de Ram et utilisant les meilleurs disques SATA disponibles, les Velocity Raptor de Western Digital.

Toutefois, ce regain de puissance allait être à peine perceptible en raison de cette hausse soudaine de trafic. Nous nous sommes alors donné comme challenge d'optimiser le code de l'application mais nous ne savions pas par où commencer.

La démarche

Chacun des développeurs de WMaker a dressé une liste des points à améliorer pouvant influencer sur la rapidité d'affichage. 

Nous avons fait du surplace pendant près de 2 semaines. Les progrès étaient modestes et nous étions près à faire auditer notre architecture par des ingénieurs de chez SUN ... cependant, le travail que nous avons mené sur la mise en place d'un Wrapper SQL a fini par porter ses fruits.

En effet, nous travaillons depuis quelques mois sur une couche d'abstraction de la base de donnée. Ce système nous permet entre autre d'avoir un monitoring des 3000 requettes/s effectuées sur les 10 serveurs SQL de WMaker. Nous pouvons alors remonter dans un tableau de contrôle les requêtes les plus fréquentes, les requêtes les plus longues, etc.

Ayant épuisé toutes les pistes pour optimiser le temps de réponse, nous avons alors réécrit, grâce aux informations du tableau de contrôle issus du Wrapper, une dizaine de requêtes SQL par jour pendant 1 semaine et nous avons fait des gains inespérés.

Les gains: amélioration du temps de réponse d'un facteur 3 !

Nous avons alors décidé de poursuivre. Aujourd'hui, au bout de 3 semaines, nous avons non seulement complètement absorbé la hausse trafic, mais nous avons amélioré le temps de réponse d'un facteur 3  !!!!!

Grace à ce travail, nous sommes maintenant probablement l'une des plate-forme SaaS de site internet la plus rapide du marché.

Et maintenant ?

Nous allons jusqu'à à la fin janvier consacrer un jour par semaine à ce genre d'optimisation. Nous avons pour objectif d'atteindre un temps de réponse moyen 250 ms.

Après ce mois d'optimisation, nous allons reprendre la publication des nouveautés, d'ici la fin novembre nous retrouverons notre rythme de croisière.

Dès demain on revisite les TAGs !!