Présentation de l’outil Neoload de Neotys

Nous avons vu précédement une présentation de l'outil de test de charge JMeter gratuit et open-source.
Aujourd'hui, nous allons découvrir Neoload de Neotys: http://www.neotys.fr/

Démonstration de Neoload en 7 minutes

Voici une présentation complète de Neoload en 7 minutes réalisée par Neotys:
Cliquer ici pour démarrer la vidéo

Architecture de Neoload

L'architecture de Neoload est assez classique:

Revenons sur les points forts de Neoload

Neoload se découpe en trois parties:

  • Conception: Le développement des scripts,conception de populations et conception du monitoring
  • Exécution: Le paramétrage et l'exécution des tests de charges
  • Résultats: L'analyse et l'export des résultats

Dans chaque partie, nous allons voir les spécificités de Neoload qui le rend attrayant.

Conception

Découpage du scénario en transaction

Lors de la capture, il faut bien repérer quelle requête correspond à quelle action.
Dans Neoload, il suffit de remplir le nom de l'action dans l'encadré durant l'enregistrement.

Il n'y a pas besoin de cliquer quelque part pour valider. La prise en compte se fait immédiatement. La saisie des noms des actions se fait donc facilement.
Ce procédé permet de gagner du temps, en particulier lors d'acte métier relativement long.

Un script Neoload:

Neoload réunit tout le paramétrage dans un seul dossier: les scripts, le paramétrage des scripts et les résultats.
Le script se présente sous la forme suivante:

C'est donc un arbre de bloc contenant des requêtes.
Depuis la version 4 de Neoload, les blocs Init et End permettent une initialisation et une finalisation de l'acte métier comme dans Loadrunner.

Si on souhaite ajouter du code personnalisé, cela est possible en ajoutant un bloc. Le code utilisé est le JavaScript, un minimum de connaissance de ce langage est requis. Des blocs standards peuvent être ajoutés: if, while, etc.

Neoload permet également de créer des blocs communs entre les scripts. Par exemple, une connexion à une application peut être réalisée qu'une seule fois et utilisée dans plusieurs scripts.

Aide dans les expressions régulières faciles

Nous avons besoin des expressions régulières dans deux cas:

  • Récupération d'une variables dans une page web
  • La validation de l'affichage de la page

Neoload facilite l'utilisation des expressions régulières grâce à son interface étudiée, en particulier après avoir cliqué sur "Editer en mode avancée":

  • L'expression régulière doit être écrite dans le champ "Expression régulière à vérifier".
  • Le champ "Modèle de valeur" permet d'indiquer comment on veut voir la valeur affichée dans le cadre "Test" (n'a pas d'impact sur la valeur de la variable)
  • Le champ "Valeur extraite de la page enregistrée" permet de voir en direct la ou les valeur(s) extraite(s).
    Dans notre cas, on récupère trois valeurs: Find Owner, Display all veterinarians, Tutorial.

Cela permet de voir directement si l'expression régulière que l'on a élaborée est valide ou non de manière instantanée. Raffinement supplémentaire, l'onglet "Test" permet de voir la page capturée à l'enregistrement, ce qui permet de vérifier / chercher les informations dans la page pour affiner son expression régulière.
A noter également qu'il est possible d'utiliser une expression Xpath avec l'expression régulière ce qui permet de combiner la recherche d'une partie d'une valeur contenu dans un fichier xml.

Pour la validation de l'affichage de la page, l'interface est un peu différente mais tout aussi efficace:

L'ensemble de ces interfaces est très efficace et permet de gagner beaucoup de temps sur l'extraction de variable et la validation des pages avec des expressions régulières. L'aide de Neoload guide les personnes débutantes en expressions régulières.

Corrélation automatique

Nous venons de voir comment récupérer une valeur dans une page web et l'enregistrer dans une variable. En cliquant sur un seul bouton (Remplacer dans les requêtes), Neoload remplace la valeur dans chaque requête par la variable.

Avec un second clic (Déplacer dans les paramètres de frameworks), la corrélation faite à la main peut être sauvegardée et utilisée pour les futurs scripts automatiquement, un peu à l'image des corrélations automatiques dans HP Loadrunner mais en un seul clic.

Neoload a déjà une base de corrélations automatiques adaptées aux frameworks suivant:

  • .Net
  • ADF
  • GWT
  • RTMP
  • Siebel
  • Silverlight
  • ...

Populations dans Neoload

Neoload introduit le concept de Population. Chaque population a des caractéristiques particulières (% de la population total, Débits spécifiques, acte métier joué, etc. ). Cela peut être un peu déstabilisant, en particulier des personnes venant de HP Loadrunner. Mais le concept s'acquiert assez rapidement.

Mise en place du monitoring facile

Vous avez peiné à configurer votre HP Sitescope et eu des difficultés à le coupler à HP Performance Center, Neoload va vous changer la vie! Vous l'aurez bien compris, le monitoring de Neoload est très réussi pour plusieurs raisons:

  • La documentation est très bien faite: chaque type d'OS, chaque type de serveurs d'application, chaque type de base de données est très bien documenté: Tous les prérequis sont indiqués et chaque métrique expliquée. Cerise sur le gâteau, la documentation est totalement en français, bien appréciable. On peut télécharger la documentation depuis leur site sous différents formats. Cette aide est utile même en utilisant des outils concurrent à Neoload.
  • Chaque métrique peut avoir des SLA associés qui émetteront des alertes durant l'exécution du test et dans les résultats
  • Neoload choisit par défaut et automatiquement les métriques essentielles pour chaque type d'OS, chaque type de serveurs d'application, chaque type de base de données et positionne automatiquement des SLA.

Le monitoring de Neoload permet un gain de temps et est une aide appréciable. On découvre même des métriques que l'on n'aurait pas pensé.
Dans une première approche, cela peut paraître "Gadget", mais pour l'avoir utilisé, le monitoring est assez pertinent. Dans mon cas, Neoload a remonté deux alertes, certes classiques (Nombre de threads disponibles insuffisants sur Apache et Websphere), et a permis de passer de 60 utilisateurs simultanés à 300 utilisateurs simultanés, et d'atteindre la volumétrie cible de l'application.

Exécution

Location d'injecteurs dans le cloud de Neotys

Vous devez faire un test sur un site Internet à visibilité mondiale avec 4 000 utilisateurs simultanées avec 10 injecteurs depuis différents endroits dans le monde, vous n'avez qu'une seule machine, et tout cela pour demain ?
Avec Neoload, c'est possible! Neotys propose la location de machine dans leur cloud pour réaliser des tests de performance. Le fonctionnement est simple: il faut acheter des crédits (en fonction du besoin, crédit de l'ordre de la dizaine d'euros valable un an, à commander auprès de Neotys). Un crédit permet d'utiliser une machine 32 bits une heure. Attention, toute heure commencée est dû, il faut donc bien calculer son lancement.
Les injecteurs du cloud de Neotys sont parfaitement intégrés à Neoload; la réservation des injecteurs se fait directement dans l'interface. L'utilisation du cloud de Neotys est très simple: la seule différence réside dans le fait que les injecteurs sont dans le cloud et non dans le LAN. Le reste ne change pas, en particulier le contrôleur qui est toujours nécessaire pour le contrôle des injecteurs de la récupération du monitoring.

Le cloud de Neotys comporte des injecteurs situés dans de nombreuses localisations à travers le monde afin d'obtenir les temps de réponse depuis différents endroits.

L'utilisation du cloud de Neotys est simple, efficace et fonctionnelle. Ce cloud apporte une réelle valeur ajoutée à Neoload.

Utilisation d'injecteurs dans le LAN

Dans le cas classique, Neoload utilise des injecteurs dans le LAN. L'interface est bien conçu: une fois les injecteurs installés sur différentes machines, les injecteurs sont automatiquement reconnus dans le contrôleur. On peut également forcer à découvrir un injecteur en indiquant le nom ou l'ip de l'injecteur. Les mises à jour mineurs de Neoload sont appliqués automatiquement aux injecteurs et cela est bien pratique pour avoir une plateforme d'injection de charge à jour.
Des feux de couleurs permettent de connaitre l'état des injecteurs.

Détection de problèmes de performance en direct

Pendant l'exécution du test, il est possible de surveiller l'ensemble des métriques sélectionnées.
Dès qu'une métrique dépasse les seuils définis, des alertes sont remontées sous forme de panneau indicateurs:

Exemple de monitoring des workers d'Apache (en rouge et le nombre d'utilisateurs virtuels en bleu):

On voit que l'on est proche de la pénurie de workers et qu'il faut en augmenter leur nombre.

Cette fonctionnalité de Neoload permet de réaliser des tests de performance de manière pro-active, de réaliser une pré-analyse rapide et de corriger rapidement les problèmes de performance.

Résultats

Problèmes de performance ciblés rapidement

Comme dans la partie exécution, les dépassements de seuils des métriques sélectionnées sont également indiqués dans les résultats. On peut donc commencer l'analyse avec déjà des pistes. On peut réaliser différents graphiques.
Pour les habitués de HP Loadrunner, il existe quelques différences dont la plus déroutante est la génération de graphique. Dans l'analysis de Loadrunner, nous générons un ensemble de graphique se rapportant à un seul test (voir deux dans le cas de la fonction cross-results). Dans Neoload, tous les graphiques de tous les tests du même projets sont sur la même page. Il faut donc faire attention à savoir quel graphique correspond à quel test.
Pour choisir le graphique correspondant, il faut choisir le test souhaité en haut et faire un glisser déposer du moniteur souhaité de gauche à droite:

Comparaison

Neoload permet de comparer deux tests en quelques clics. Une grande parties des métriques sont comparées.

Export Résultats

Les résultats peuvent être exportés en format Word, HTML et pdf.

Dans quels cas utiliser Neoload ?

Les points forts de Neoload:

  • Neoload permet de réduire le temps de développement
  • Neoload est plus robuste et permet d'injecter plus de charge
  • Neoload comporte un module inclus de monitoring avancé avec des SLA sur les indicateurs performances clés de manière automatique
  • Neoload a un support très réactif
  • Neoload peut utiliser un parc d'injecteurs sur le cloud de Neotys situés depuis différentes localisations dans le monde en quelques clics (supplément)
  • Neoload est adapté pour les technologies Web, Adobe Flash & Air, Silverlight, SOAP, Oracle Forms & e-Business, GWT, Push, Java Serialization, SAP web, Siebel Web, etc.

Quels critères pour choisir le meilleur outil ?

Les critères à prendre en compte sont:

  • Les technologies utilisées par l'application testée
  • Le nombre d'actes métiers à réaliser et leur longueur
  • Nombre d'éléments à surveiller
  • Utilisation une fois / un grand nombre de campagnes de performance
  • Volumétries à injecter
  • Conditions d'utilisations: Besoins d'un grand nombre d'injecteurs cloud, différentes localisations géographiques
  • Qualité du support
  • Intégration avec d'autres outils

JMeter est adapté pour des actes métiers simples (peu de corrélations, longueur), une volumétrie raisonnable (50-300 utilisateurs virtuels max), un monitoring simple.

Neoload prend l'avantage sur JMeter dès l'utilisation de technologies complexes (Java serializé, Flash, Siebel Web, SAP Web), lors d'un grand nombre d'actes métiers, actes métiers longs avec beaucoup de corrélations, monitoring complexe, utilisation d'injecteurs dans le cloud, et permet un gain de temps global sur l'analyse. Dans le cas de campagnes de test de performance récurrentes (centre de service par exemple), le coût de la licence s'amortie rapidement par le gain de temps global dans le développement des scripts et dans l'analyse des résultats. Le support de Neoload est très efficace et réactif. Souvent, on peut s'attendre à une réponse au problème dans les 24h.

Neoload atteind ses limites lors de l'utilisation de protocoles s'éloignant des protocoles Web : SAP Gui, Siebel GUI, Socket, etc. L'utilisation de HP Loadrunner s'avère alors incontournable.
HP Loadrunner a pour vocation de faire de l’injection avec une grande force d'intégration de l’outil et des résultats à la suite HP ALM, BSM, RUM.

Tarification Neoload

Neotys propose 3 types de licences:

  • Licence définitive
  • Licence locative sur une durée déterminée
  • Licence partagée entre plusieurs postes utilisateurs

Les tarifs sont consultables ici.

En conclusion

Neoload de Neotys est un très bon produit qui se positionne sur les technologies du Web. Neoload est un bon intermédiaire entre JMeter (Gratuit) et HP LoadRunner (assez cher). Neoload permet de réaliser des campagnes de tests de performance efficaces.
Neotys est une société française (cocorico!) basée près de Nice. N'hésitons pas à consommer français!

Une réponse à to “Présentation de l’outil Neoload de Neotys”

Laisser un commentaire

Merci d'effectuer cette opération simple pour valider le commentaire *

Mots-clés
RSS Feed