Infrastructure/Chantiers
Tester un site avant production ? Indispensable pour l'Insee !
Comment être sûr que le site du recensement sera à la hauteur, sans jouer la carte surdimensionnement ? En faisant intervenir un spécialiste de la performance, tel Mercury Interactive. (Vendredi 27 septembre 2002)
     
A lire également

Dossier : la gestion de la performance

La prévention par les tests

En 1999, l'Insee met en ligne un site consacré aux premiers comptages du recensement, un site très modeste puisqu'il ne couvre alors qu'une dizaine de communes. L'expérience est très instructive : "Le jour même de l'annonce de presse, le site est saturé en quelques heures", se souvient Jeannine Gérard, à l'époque chef de projet à l'Insee.

Un service irréprochable
Autant dire que l'Insee ne fera pas l'erreur deux fois : "Nous avons été très prudents pour le site final. L'objectif était de présenter les données du
recensement, et de permettre de les trier selon des requêtes. Le site devrait comporter un volet commercial. Il va sans dire que le service se devait d'être irréprochable : un site commercial ne peut pas se permettre une indisponibilité de service ou un temps d'accès médiocre".

La barre a donc été placée haut : avec 200 utilisateurs simultanés, l'objectif était d'arriver à un temps de chargement de 8 secondes pour les pages les plus lourdes - qui comprennent de très longues suites de données. Ce qui supposait d'aller puiser ces données dans une immense base - comprenant près d'un milliard d'entrées - et de les hiérarchiser en un temps très court ; puis de les redistribuer à un grand nombre d'internautes. Un objectif qui "n'est sans doute pas exceptionnel dans l'absolu, mais qui était beaucoup plus complexe que tout ce que l'Insee avait déjà réalisé jusqu'alors".

Mercury appelé à la rescousse
L'Insee a donc sollicité une aide extérieure : "Nous sommes très marqués par notre culture maison, axée autour du mainframe. Et pour tout dire nous étions assez dubitatifs à l'idée de faire tourner une très grosse base de données sur un serveur NT". Il fallait donc avancer à pas de loup en utilisant à tous les stades du projet des outils de gestion de la performance : "Nous avions déjà des outils fournis par Mercury Interactive, puisque c'est le prestatire qui avait été retenu par le passé pour les tests de performance, mais nous ne disposions pas des compétences nécessaires pour les manipuler en interne".

Dés les premières heures de l'implantation, Mercury a donc été mis à contribution : "Dès que nous avons disposé d'un embryon de la base de données, nous avons demandé à Mercury de le tester". On entre alors dans la première phase du test : "Il s'agit ici de vérifier que l'applicatif est suffisamment solide pour supporter la montée en charge - explique Bruno Givelet, directeur technique de Mercury. Pour cela, il faut construire un programme qui simule des centaines de connexions, afin de pousser l'applicatif dans ses retranchements et de repérer ses faiblesses".

Créer un robot de test
Comment construit-on un tel outil de test ? "Nous faisons intervenir une dizaine d'internautes type. Nous leur demandons de réaliser des transactions différentes sur une préversion du site - explique Bruno Givelet. Leurs requêtes sont réunies dans le coeur d'un robot unique, et décuplées avec des outils qui permettent de les faire varier, en changeant par exemple la référence produit de ce que l'internaute test a acheté sur le site. Cette précaution permet de réintroduire l'aléatoire dans le robot." L'instrument de torture est prêt, il ne reste plus qu'à choisir la façon dont il lancera son attaque - requêtes concentrées ou étalées - et à le projeter sur un serveur de test.

Une fois cet assaut lancé, quelques modifications sur le code se sont imposées afin de tirer les conséquences du test. Puis Mercury intervient à la deuxième étape : "Il s'agissait cette fois-ci de lancer le robot sur plusieurs serveurs, avec des cadences de connexion réalistes, afin de choisir le bon modèle". Ce test s'est déroulé dans les locaux de Sun, et Jeannine Gérard est repartie avec un couple de serveurs idéal sous le bras : "Un quadri-processeur sous Unix équipé d'une base de données Oracle pour le gros des calculs, et un bi-processeur sous NT pour le serveur d'applications, qui prend en charge le frontal", liste Jeannine Gérard.

Des agents à chaque point de l'infrastructure
La clé de la réussite ? "Pas encore, précise Bruno Givelet de Mercury. Il restait encore une étape cruciale : le test en environnement de production, directement chez l'hébergeur, sur l'architecture définitive, et avec la présence des systèmes de sécurité. C'est seulement à ce moment là que l'on peut éliminer les derniers goulets d'étranglement, et éliminer les derniers problèmes."

C'est aussi l'étape qui demande le plus de moyens : "Nous plaçons des agents sur chaque point de l'infrastructure : serveur, base de données, réseau, systèmes de sécurité. Ce qui nous permet de diagnostiquer la provenance des ralentissements, et même de fournir des indications sur la méthode à employer pour les éradiquer". De quoi mettre en production un site très fiable, et satisfaire aux exigences du cahier des charges.

Satisfaction ?
L'intervention de Mercury a-t-elle donné entière satisfaction à l'Insee ? "Au début, le niveau de mes interlocuteurs n'était pas systématiquement convaincant, explique Jeannine Gérard de l'Insee. Mais les choses au changé. Au final, l'investissement s'est révélé très rentable : la prestation de Mercury ne nous a coûté que 3 % de notre budget global. Mais grâce à leur aide, le site fonctionne bien, et nous disposons aujourd'hui de l'infrastructure matérielle idéale pour nos besions. Nul doute que nous aurions vu plus grand - trop grand même - si Mercury n'avait pas été à nos côtés."

[Nicolas Six, JDNet]
 
Accueil | Haut de page
 
 

  Nouvelles offres d'emploi   sur Emploi Center
Auralog - Tellmemore | Publicis Modem | L'Internaute / Journal du Net / Copainsdavant | Isobar | MEDIASTAY

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Toutes nos newsletters