{"id":974,"date":"2011-09-18T12:17:31","date_gmt":"2011-09-18T12:17:31","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=974"},"modified":"2011-09-18T12:17:31","modified_gmt":"2011-09-18T12:17:31","slug":"quelques-nouvelles-de-jmeter","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2011\/09\/18\/quelques-nouvelles-de-jmeter-974.html","title":{"rendered":"Quelques nouvelles de JMeter"},"content":{"rendered":"<p>Cela fait un petit moment que je n&rsquo;ai pas publi\u00e9 de billet, une des raisons principales de l&rsquo;absence de billet, c&rsquo;est JMeter.<br \/>\nDepuis la<a title=\"Apache JMeter 2.5 est sorti\" href=\"http:\/\/blog.milamberspace.net\/index.php\/2011\/08\/18\/apache-jmeter-2-5-est-sorti-964.html\"> publication de la version 2.5<\/a>, l&rsquo;activit\u00e9 du <a href=\"https:\/\/issues.apache.org\/bugzilla\/\">bugzilla<\/a> de JMeter a fortement augment\u00e9. D&rsquo;une part, des bugs ont \u00e9t\u00e9 trouv\u00e9s sur des nouvelles fonctionnalit\u00e9s de la 2.5, et d&rsquo;autre part, de nouveaux contributeurs ont propos\u00e9 bons nombres de correctifs \u00e0 de nombreux bugs.<br \/>\nConcernant les bugs trouv\u00e9s sur les nouvelles fonctionnalit\u00e9s, j&rsquo;en mentionne deux\u00a0: <!--more--><\/p>\n<ul>\n<li>Sur l&rsquo;impl\u00e9mentation HTTPClient 4.1 pour la requ\u00eate HTTP, il y avait un probl\u00e8me de lib\u00e9ration de connexion HTTP, ce qui engendrait une consommation excessive de ressources (m\u00e9moire et sockets), allant jusqu&rsquo;\u00e0 interdire les \u00ab\u00a0gros\u00a0\u00bb tests de charges.<\/li>\n<li>Sur la nouvelle fonctionnalit\u00e9 de t\u00e9l\u00e9chargement parall\u00e8les des ressources associ\u00e9es \u00e0 une page avec l&rsquo;utilisation conjointe d&rsquo;un Gestionnaire de cache. Ce dernier <a href=\"https:\/\/issues.apache.org\/bugzilla\/show_bug.cgi?id=51752\">n&rsquo;\u00e9tait pas utilis\u00e9<\/a> lors de la r\u00e9cup\u00e9ration des ressources.<\/li>\n<\/ul>\n<p>Concernant les correctifs des nouveaux contributeurs, on peut parler de\u00a0:<\/p>\n<ul>\n<li>Actuellement il y a un<a href=\"https:\/\/issues.apache.org\/bugzilla\/show_bug.cgi?id=50618\"> probl\u00e8me de StackOverflowError<\/a> sur le contr\u00f4leur Si (IF) lorsque la condition renvoie toujours faux, \u00e0 cause de la conception du parcours de l&rsquo;arbre JMeter utilisant une m\u00e9thode r\u00e9cursive dont la condition de stop est un renvoi de &lsquo;null&rsquo; et du d\u00e9tournement de cette condition de stop par le contr\u00f4leur Si qui renvoi aussi &lsquo;null&rsquo; lorsque la condition est fausse. Toujours est-il que cela part en boucle r\u00e9cursive infinie si votre contr\u00f4leur Si est tout seul dans l&rsquo;arbre et retourne faux (pour un nombre d&rsquo;it\u00e9ration sup\u00e9rieur \u00e0 la pile Java). Avec l&rsquo;assistance d&rsquo;un nouveau contributeur, on a corrig\u00e9 un cas de figure (si le contr\u00f4leur Si commence \u00e0 renvoyer des vrais, puis que des faux). NB. un contournement possible est d&rsquo;ajouter un \u00e9chantillon D\u00e9bogage au m\u00eame niveau (ou sup\u00e9rieur) que le contr\u00f4leur Si, avec cela la boucle infinie ne se produit pas.<\/li>\n<li>Le <a href=\"https:\/\/issues.apache.org\/bugzilla\/show_bug.cgi?id=50032\">bug 50032 <\/a>corrigeait un probl\u00e8me d&rsquo;ex\u00e9cution du Contr\u00f4leur Si (encore!) lorsque ce dernier contenait plusieurs \u00e9chantillons avec des assertions fausses et qu&rsquo;il n&rsquo;ex\u00e9cutait pas le bon \u00e9chantillon \u00e0 l&rsquo;it\u00e9ration suivante. Ce bug 50032 a apport\u00e9 deux r\u00e9gressions. Les deux sont corrig\u00e9es pour la future version 2.5.1<\/li>\n<li>Un certain nombre d&rsquo;am\u00e9liorations ont \u00e9t\u00e9 effectu\u00e9s sur la requ\u00eate WebServices SOAP, au niveau de l&rsquo;assistant de configuration et aussi de son interface utilisateur pour la rendre plus conviviale.<\/li>\n<\/ul>\n<p>Pour r\u00e9sumer, depuis la sortie de la version 2.5, on bosse pas mal sur les correctifs, et depuis qu&rsquo;il a \u00e9t\u00e9 annonc\u00e9 que nous voulions sortir une version 2.5.1 rapidement \u00e0 cause notamment du bug sur le HTTPClient 4.1, on a le ph\u00e9nom\u00e8ne <em>\u00ab\u00a0valide mon patch avant la release stp\u00a0!\u00a0\u00bb<\/em>. C&rsquo;est \u00e0 la fois super, car cela am\u00e9liore JMeter, mais aussi fatiguant, car cela demande du temps\/travail en plus \ud83d\ude09<br \/>\nC&rsquo;est en train de se stabiliser, et la nouvelle version 2.5.1 qui est avant tout \u00e0 vocation corrective, va sortir prochainement.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cela fait un petit moment que je n&rsquo;ai pas publi\u00e9 de billet, une des raisons principales de l&rsquo;absence de billet, c&rsquo;est JMeter. Depuis la publication de la version 2.5, l&rsquo;activit\u00e9 du bugzilla de JMeter a fortement augment\u00e9. D&rsquo;une part, des bugs ont \u00e9t\u00e9 trouv\u00e9s sur des nouvelles fonctionnalit\u00e9s de la 2.5, et d&rsquo;autre part, de &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2011\/09\/18\/quelques-nouvelles-de-jmeter-974.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Quelques nouvelles de JMeter<\/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,68,33],"tags":[],"class_list":["post-974","post","type-post","status-publish","format-standard","hentry","category-apache","category-bug","category-jmeter"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/974","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=974"}],"version-history":[{"count":2,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/974\/revisions"}],"predecessor-version":[{"id":976,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/974\/revisions\/976"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}