{"id":964,"date":"2011-08-18T07:45:19","date_gmt":"2011-08-18T07:45:19","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=964"},"modified":"2011-08-26T23:31:55","modified_gmt":"2011-08-26T23:31:55","slug":"apache-jmeter-2-5-est-sorti","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2011\/08\/18\/apache-jmeter-2-5-est-sorti-964.html","title":{"rendered":"Apache JMeter 2.5 est sorti"},"content":{"rendered":"<p>Une nouvelle version de <a title=\"JMeter\" href=\"http:\/\/jakarta.apache.org\/jmeter\/\">JMeter<\/a> vient de sortir, elle \u00e9tait en gestation depuis plusieurs mois. J&rsquo;y voyais une version 2.4.1, mais finalement comme il y a de nombreuses fonctionnalit\u00e9s ajout\u00e9es, et un bon nombre de bogues corrig\u00e9s, on est pass\u00e9 directement de la 2.4 vers la 2.5.<\/p>\n<p>Par ailleurs, cette version 2.5 a un sens particulier pour moi, puisque j&rsquo;ai jou\u00e9 le r\u00f4le du \u00ab\u00a0release manager\u00a0\u00bb pour elle. Ainsi j&rsquo;ai r\u00e9alis\u00e9 le processus de \u00ab\u00a0d\u00e9livrance\u00a0\u00bb de la nouvelle version (vote de release, cr\u00e9ation des archives \u00e0 t\u00e9l\u00e9charger, signature num\u00e9rique, mise \u00e0 jour du site Jakarta\/JMeter, et annonce).<\/p>\n<p><span style=\"text-decoration: underline;\">Voici un petit tour des principales nouveaut\u00e9s\u00a0:<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Nouvelle impl\u00e9mentation Requ\u00eate HTTP<\/strong><\/span><\/p>\n<p>Avant JMeter poss\u00e9dait deux impl\u00e9mentations diff\u00e9rentes pour r\u00e9aliser une <strong>Requ\u00eate HTTP\u00a0<\/strong>: Java et HTTPClient version 3.1.<\/p>\n<p>Avec la version 2.5, il y a trois, toujours les deux premi\u00e8res plus une nouvelle \u00ab\u00a0HTTPClient4\u00a0\u00bb qui dont repose sur la version 4.x de l&rsquo;API <a href=\"http:\/\/hc.apache.org\/httpcomponents-client-ga\/index.html\">HTTPClient d&rsquo;Apache<\/a>.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"JMeter 2.5 : impl\u00e9mentation HTTP\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_018.png\" alt=\"\" width=\"664\" height=\"269\" \/><\/p>\n<p>Lors de cet ajout, les deux \u00e9chantillons requ\u00eates HTTP existants ont \u00e9t\u00e9 fusionn\u00e9 en un seul, et une nouvelle liste d\u00e9roulante (cf capture) dans la configuration de la Requ\u00eate HTTP permet de choisir l&rsquo;impl\u00e9mentation. Par d\u00e9faut, c&rsquo;est \u00ab\u00a0vide\u00a0\u00bb, et cela correspond \u00e0 l&rsquo;impl\u00e9mentation historique Java.<\/p>\n<ul>\n<li>NB1. Il est possible de changer l&rsquo;impl\u00e9mentation par d\u00e9faut \u00e0 utiliser par le Proxy JMeter, via le param\u00e8tre jmeter.httpsampler dans le fichier jmeter.properties.<\/li>\n<li>NB2. Th\u00e9oriquement la meilleure impl\u00e9mentation en termes de qualit\u00e9\/performance est HTTPClient4.<\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\"><strong>R\u00e9cup\u00e9ration parall\u00e8le des ressources d&rsquo;une page<\/strong><\/span><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"R\u00e9cup\u00e9ration parall\u00e8les des ressources d'une page\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_019.png\" alt=\"\" width=\"653\" height=\"73\" \/><\/p>\n<p>Une nouvelle fonctionnalit\u00e9 ajout\u00e9e \u00e9galement dans la Requ\u00eate HTTP, est la possibilit\u00e9 de r\u00e9cup\u00e9rer en parall\u00e8le les ressources associ\u00e9es \u00e0 une page (i.e. les css, js, images, etc), via un pool d&rsquo;unit\u00e9s d&rsquo;ex\u00e9cution dont la taille est param\u00e9trable (cf. capture).<\/p>\n<p>Cette nouvelle fonctionnalit\u00e9 permet entre autre de \u00ab\u00a0simuler\u00a0\u00bb mieux le comportement des navigateurs actuels qui parall\u00e9lisent la r\u00e9cup\u00e9ration des \u00e9l\u00e9ments d&rsquo;une page (pour un affichage plus rapide).<!--more--><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Deux nouveaux Moteurs d&rsquo;utilisateurs<\/strong><\/span> font leur apparition\u00a0:<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Nouveaux moteurs d'utilisateur dans JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_017.png\" alt=\"\" width=\"861\" height=\"152\" \/><\/p>\n<ul>\n<li>le <strong>Groupe d&rsquo;unit\u00e9s de d\u00e9but<\/strong>, qui permet d&rsquo;avoir un groupe d&rsquo;unit\u00e9s qui sera lanc\u00e9 une seule fois au d\u00e9but d&rsquo;un tir, et ceux avant les groupes d&rsquo;unit\u00e9s \u00ab\u00a0normaux\u00a0\u00bb<\/li>\n<li>le<strong> Groupe d&rsquo;unit\u00e9s de fin<\/strong>, qui est le penchant du d\u00e9but, mais pour la fin d&rsquo;un tir.<\/li>\n<\/ul>\n<p>L&rsquo;id\u00e9e ici, et de permettre d&rsquo;ex\u00e9cuter un sc\u00e9nario avant\/apr\u00e8s le vrai tir, par exemple de pr\u00e9paration de donn\u00e9es de tir ou de r\u00e9cup\u00e9rer des m\u00e9triques de test en fin de tir.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">D\u00e9marrer l&rsquo;it\u00e9ration suivante<\/span><\/strong><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"D\u00e9marrer it\u00e9ration suivante JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_027.png\" alt=\"\" width=\"904\" height=\"127\" \/><\/p>\n<p style=\"text-align: left;\">Dans la configuration du Groupe d&rsquo;unit\u00e9s, au niveau de l&rsquo;action \u00e0 faire en cas d&rsquo;erreur dans un sc\u00e9nario, une nouvelle option appara\u00eet\u00a0: \u00ab\u00a0D\u00e9marrer l&rsquo;it\u00e9ration suivante\u00a0\u00bb, qui permet donc \u00e0 l&rsquo;unit\u00e9 de test, en cas d&rsquo;erreur, de revenir au d\u00e9but du sc\u00e9nario pour un nouveau tour.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Taille de la r\u00e9ponse<\/span><\/strong><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"D\u00e9tails de la taille de la r\u00e9ponse JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_021.png\" alt=\"\" width=\"401\" height=\"199\" \/><\/p>\n<p>Dans l&rsquo;arbre de r\u00e9sultats, JMeter affiche maintenant le d\u00e9tail sur la taille de la r\u00e9ponse re\u00e7ue pour une requ\u00eate HTTP (ainsi que la bonne valeur). Avant en effet, la taille donn\u00e9e \u00e9tait la taille d\u00e9compress\u00e9 du corps de la r\u00e9ponse. C&rsquo;est-\u00e0-dire que les ent\u00eates n&rsquo;\u00e9taient pas comptabilis\u00e9es, et en cas de r\u00e9ponse compress\u00e9e (le<a title=\"Compression HTTP, ou comment r\u00e9duire le temps r\u00e9seau dans les performances d\u2019une application\" href=\"http:\/\/blog.milamberspace.net\/index.php\/2008\/07\/06\/compression-http-ou-comment-reduire-le-temps-reseau-dans-les-performances-dune-application-80.html\"> fameux mod_deflate sur Apache<\/a> par exemple), JMeter ne donnait pas la bonne taille.<\/p>\n<p>Maintenant donc, il y a le d\u00e9tail, et c&rsquo;est la taille (\u00e0 l&rsquo;octet pr\u00e8s) pr\u00e9cise de la r\u00e9ponse qui est donn\u00e9e.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Versions Tableaux dans l&rsquo;arbre de r\u00e9sultats<\/span><\/strong><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Version tableau pour les ent\u00eates de r\u00e9qu\u00eate\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_026.png\" alt=\"\" width=\"520\" height=\"517\" \/><\/p>\n<p>Une version \u00ab\u00a0tableau\u00a0\u00bb existe maintenant pour afficher les \u00e9l\u00e9ments de requ\u00eate dans un \u00e9chantillon HTTP. Cela aide pour le copier\/coller vers un outil de bureautique (pour les rapports par exemple)<\/p>\n<p>La version tableau pour l&rsquo;onglet R\u00e9sultat de l&rsquo;\u00e9chantillon (qui existe depuis la version 2.4) a re\u00e7u \u00e9galement une am\u00e9lioration. Il est d\u00e9sormais possible de double-cliquer sur une cellule du tableau pour faire appara\u00eetre une fen\u00eatre contenant la valeur. Utile pour les valeurs longues. Cf Captures.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Tableau Donn\u00e9s \u00e9chantillon\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_028.png\" alt=\"\" width=\"719\" height=\"502\" \/><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Popup d\u00e9tails\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_029.png\" alt=\"\" width=\"448\" height=\"286\" \/><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Fragment d&rsquo;\u00e9l\u00e9ments<\/span><\/strong><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Ajout d'un fragment d'\u00e9l\u00e9ments\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_025.png\" alt=\"\" width=\"843\" height=\"136\" \/><\/p>\n<p>Un nouveau type d&rsquo;\u00e9l\u00e9ments fait son apparition\u00a0: le Fragment d&rsquo;\u00e9l\u00e9ments. Il permet d&rsquo;avoir une section dans son sc\u00e9nario qui <strong>ne sera pas <\/strong>ex\u00e9cuter par JMeter. Pratique pour mettre de cot\u00e9 des \u00e9chantillons sans les d\u00e9sactiver ou bien (et surtout) pour le fameux JMeter Proxy afin qu&rsquo;il soit sauvegarder avec son script.<\/p>\n<p>Le Fragment d&rsquo;\u00e9l\u00e9ments ne fait rien, il emp\u00eache juste JMeter d&rsquo;ex\u00e9cuter ses \u00e9l\u00e9ments fils.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Fragment d'\u00e9l\u00e9ments JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_024.png\" alt=\"\" width=\"351\" height=\"83\" \/><\/p>\n<p>Ici un exemple d&rsquo;utilisation du Fragment d&rsquo;\u00e9l\u00e9ments pour \u00ab\u00a0stocker\u00a0\u00bb la section Proxy dans son Plan de test.<\/p>\n<p style=\"text-align: center;\">\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Exemple d'utilisation Fragments d'\u00e9l\u00e9ments\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_031.png\" alt=\"\" width=\"263\" height=\"205\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Requ\u00eate SMTP<\/span><\/strong><\/p>\n<p>La Requ\u00eate SMTP a \u00e9t\u00e9 am\u00e9lior\u00e9e, il est possible d&rsquo;envoi des mails avec JMeter avec quasiment toutes les variantes possibles, notamment pour les connexions en SSL ou en StartTLS.<\/p>\n<p style=\"text-align: center;\">\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Requ\u00eate SMTP JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_022.png\" alt=\"\" width=\"902\" height=\"738\" \/><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Requ\u00eate JMS<\/span><\/strong><\/p>\n<p>Niveau Requ\u00eates JMS, il est maintenant possible d&rsquo;avoir des noms de Destination \u00ab\u00a0variables\u00a0\u00bb durant le tir. Avant mettre une variable JMeter dans le champ Destination ne fonctionnait pas car, JMeter ouvrait la connexion vers la file de Destination avant le lancement du tir. Maintenant il y a le choix, soit le comportement classique (Au d\u00e9marrage), soit avant chaque ex\u00e9cution d&rsquo;\u00e9chantillon.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Requ\u00eate JMS am\u00e9lioration JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_023.png\" alt=\"\" width=\"953\" height=\"213\" \/><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Assertion Taille<\/span><\/strong><\/p>\n<p>Une petite am\u00e9lioration sur l&rsquo;Assertion Taille\u00a0: il est possible maintenant de v\u00e9rifier la taille sur des \u00ab\u00a0sous-parties\u00a0\u00bb de la r\u00e9ponse, par exemple les ent\u00eates ou le corps seulement de la r\u00e9ponse.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Am\u00e9lioration Assertion taille JMeter 2.5\" src=\"\/wp-content\/images\/jmeter-version-2-5\/nouveautes_jmeter-2-5_030.png\" alt=\"\" width=\"891\" height=\"372\" \/><\/p>\n<p>Il a d&rsquo;autres petites nouveaut\u00e9s dans cette nouvelle version de JMeter, ainsi qu&rsquo;une part importante de bogues corrig\u00e9s. Vous pouvez voir <a title=\"Changements dans JMeter 2.5\" href=\"http:\/\/jakarta.apache.org\/jmeter\/changes\">le d\u00e9tail ici<\/a>.<\/p>\n<p>Je vous encourage \u00e0 utiliser cette nouvelle version.<\/p>\n<p>&nbsp;<\/p>\n<p>NB. Les fichiers scripts (jmx) cr\u00e9\u00e9s \/ enregistr\u00e9s avec JMeter 2.5 ne sont plus lisibles par les versions pr\u00e9c\u00e9dentes de JMeter. Bien entendu, les fichiers cr\u00e9\u00e9s \/ enregistr\u00e9s avec les versions pr\u00e9c\u00e9dentes sont lisibles par la version 2.5.<\/p>\n<p>&nbsp;<\/p>\n<p>.\/<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une nouvelle version de JMeter vient de sortir, elle \u00e9tait en gestation depuis plusieurs mois. J&rsquo;y voyais une version 2.4.1, mais finalement comme il y a de nombreuses fonctionnalit\u00e9s ajout\u00e9es, et un bon nombre de bogues corrig\u00e9s, on est pass\u00e9 directement de la 2.4 vers la 2.5. Par ailleurs, cette version 2.5 a un sens &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2011\/08\/18\/apache-jmeter-2-5-est-sorti-964.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Apache JMeter 2.5 est sorti<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,33],"tags":[330,267,268],"class_list":["post-964","post","type-post","status-publish","format-standard","hentry","category-apache","category-jmeter","tag-jmeter","tag-jmeter-2-5","tag-release"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=964"}],"version-history":[{"count":8,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/964\/revisions"}],"predecessor-version":[{"id":973,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/964\/revisions\/973"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}