1... 2... 3... benchez !

- "Tiens des nouvelles pommes ? Elles ont l'air belles, elles sont bonnes au moins ?" 

- "Ben oui, goutez-les et vous verrez !"

Cet échange résume une des bonnes pratiques en informatique : face à une nouvelle implantation au sein du SI, même si sur papier l'infrastructure semble respecter les règles de l'art, il est important de la challenger via une campagne de tests.

Attention toutefois aux pièges des benchs classiques sur environnements virtuels qui  donnent des résultats sans aucune pertinence : chiffres issus de connexions via des robots simplistes, renseignant seulement le nombre de connexions possibles et une utilisation de la CPU et mémoire !

 

Pour être représentatifs, la campagne doit en effet :

  • jouer un scénario réel - mouvement de souris, saisie clavier, impression, utilisation réelle des applications (et pas seulement lancement/fermeture)
  • sélectionner les éléments à tester autant sur l'aspect qualitatif que quantitatif
  • ne pas regarder seulement les compteurs CPU et mémoire, mais avoir un logiciel d'analyse multicritères
  • mesurer la bande passante consommée par utilisateur (poste client vers plate-forme de virtualisation), et également en sortie de cette plate-forme vers les machines d'infrastructure ou d'application.
  • mesurer le protocole de déport d'affichage (ICA/RDP) par rapport aux autres flux
  • mesurer l'importance des flux connexes (impression, transfert de fichiers, périphériques)
  • superviser les processus applicatifs et  mesurer les performances des applications
  • ne pas extrapoler les courbes, mais faire monter progressivement la charge par seuils, avec capture des éléments d'analyse pour chaque palier

 

Les rapports d'analyses doivent comprendre :

  • Performance matérielle (cpu, mémoire, disque...)
  • Analyse réseau (flux, latence, volume global/par process, flux ICA, canaux virtuels...)
  • Temps et détails de la phase de connexion
  • Analyse applicative (mémoire, cpu, crash, latence, erreur...)
  • Seuils de la montée en charge

Une erreur classique est aussi de confondre injecteur de charge et analyseur de charge, les deux outils sont en fait complémentaires. On peut d'ailleurs avantageusement remplacer un injecteur par de vrais utilisateurs en réelle situation de travail (via un pilote); l'analyseur doit lui être performant et paramétrable (oubliez les compteurs de Windows ...).
De nombreux outils sont disponibles sur le marché, notons que Citrix propose pour ces environnements deux produits très adaptés : Edgesight for load testing (injecteur) et Edgesight for Xenapp/Xendesktop (analyseur).

Mais le vrai secret reste assez simple: plus on se rapprochera de l'utilisation finale, plus on aura d'éléments d'analyse, et plus la campagne de bench sera pertinente et les valeurs significatives.

 

Patrice Boukobza
Aujourd'hui consultant en virtualisation, et cela depuis plus de 12 ans avec une forte expérience des grands comptes, Patrice a commencé l'informatique au siècle dernier, quand internet n'existait pas encore et que les premiers réseaux de PC commençaient à voir le jour. Il a vu l'avènement de ces PC et de Microsoft en entreprise puis chez les particuliers, et a connecté les premiers modems pour surfer sur internet. 
Il garde un souvenir suranné des années "internet" avec le fameux bug de l'an 2000 où il a fait partie des équipes luttant contre cette crise potentielle, comme 10 ans plus tard il fût acteur sur le sujet de la pandémie H1N1.
Habitué des blogs (il en possède 3 personnels), il est un des contributeurs principaux du blog virtualisation d'Orange.