{"id":278,"date":"2009-05-02T21:18:37","date_gmt":"2009-05-02T21:18:37","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=278"},"modified":"2009-07-11T21:57:15","modified_gmt":"2009-07-11T20:57:15","slug":"jmeter-et-la-creation-du-rapport-de-tir-de-charges","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2009\/05\/02\/jmeter-et-la-creation-du-rapport-de-tir-de-charges-278.html","title":{"rendered":"JMeter et la cr\u00e9ation du rapport de tir de charges"},"content":{"rendered":"<p style=\"\">Apr\u00e8s l&rsquo;ex\u00e9cution d&rsquo;un tir de charges, il faut faire le rapport de tir avec si possible de beaux tableaux et\/ou graphiques. Si vous avez d\u00e9j\u00e0 utilis\u00e9 JMeter <em>(ce que je pr\u00e9suppose)<\/em> vous savez que les r\u00e9cepteurs de JMeter sont bien pour avoir des tableaux de r\u00e9sultats (en particulier celui du rapport consolid\u00e9), mais ils montrent des limites pour faire des tableaux personnalis\u00e9s ou bien de beaux graphiques \u00ab parlants \u00bb.<\/p>\n<p style=\"\">Il se pose aussi la probl\u00e9matique de l&rsquo;insertion des r\u00e9sultats affich\u00e9s par les r\u00e9cepteurs de JMeter dans le document Word ou la pr\u00e9sentation PowerPoint (ou OpenOffice). La capture d&rsquo;\u00e9cran fait un peu trop &lsquo;bricolage&rsquo;.<\/p>\n<p style=\"\">En g\u00e9n\u00e9ral, il est pr\u00e9f\u00e9rable de r\u00e9cup\u00e9rer les r\u00e9sultats au format CSV, puis de les traiter dans un tableur comme Excel ou Calc pour faire des tableaux et des graphiques (<a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-generation-de-graphiques-de-resultats-avec-openofficeorg-calc\" target=\"_blank\">voir ce tutoriel<\/a>).<\/p>\n<p style=\"\">Mais l\u00e0 aussi, on trouve des limites, notamment pour les \u00ab gros \u00bb tests de charges avec plus de 100 000 lignes de r\u00e9sultats. Les graphiques \u00e9tant limit\u00e9s \u00e0 32 000 points (Excel\/Calc) et les feuilles de tableur \u00e0 65 000 lignes (Calc \/ Excel 2000\/2003) et 1 million (Excel 2007).<\/p>\n<p style=\"\">Une solution possible est de d\u00e9velopper un programme \u00ab moulinette \u00bb qui va effectuer un premier traitement sur les donn\u00e9es CSV pour r\u00e9duire ou agr\u00e9ger les donn\u00e9es, par exemple en calculant le temps moyen par intervalle de temps (i.e. par minute, par heure, etc.).<\/p>\n<p style=\"\">Une autre solution est d&rsquo;utiliser un logiciel de base de donn\u00e9es bureautiques comme Access ou Base pour g\u00e9rer le grand nombre de lignes, <a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-tir-de-charges-par-paliers-et-exploitation-des-resultats\/insertion-des-resultats-dans-access-2007-et-generation-dun-graphique\" target=\"_blank\">voir cet article<\/a>.<\/p>\n<p style=\"\">Une autre solution, que je trouve &lsquo;sympa&rsquo;, pratique et finalement assez simple pour un informaticien, c&rsquo;est d&rsquo;utiliser la petite base de donn\u00e9es <a href=\"http:\/\/www.sqlite.org\" target=\"_self\">SQLite<\/a>.<!--more--><\/p>\n<p style=\"\">SQLite est con\u00e7ue pour \u00eatre l\u00e9g\u00e8re, plus efficace qu&rsquo;un fichier texte, et permettre d&rsquo;ex\u00e9cuter des requ\u00eates SQL sur des donn\u00e9es <em>(&lsquo;normal&rsquo; vous me direz)<\/em>. Il tient en un seul ex\u00e9cutable, et fonctionne sur <a title=\"T\u00e9l\u00e9charger SQLite\" href=\"http:\/\/www.sqlite.org\/download.html\" target=\"_blank\">Windows, Unix\/Linux ou Mac<\/a>, simple donc.<\/p>\n<p style=\"\">Que peut-on faire avec SQLite et son fichier de r\u00e9sultats CSV provenant du tir de charges JMeter :<\/p>\n<ul>\n<li>Importer pratiquement directement le fichier de r\u00e9sultats CSV JMeter dans la base SQLite.<\/li>\n<li>Trier ses r\u00e9sultats dans l&rsquo;ordre, en effet les donn\u00e9es dans le fichier CSV ne sont pas toujours (souvent) dans l&rsquo;ordre chronologique (car la date donn\u00e9e est celle du d\u00e9but de la requ\u00eate, mais son \u00e9criture dans le fichier CSV d\u00e9pend de la fin d&rsquo;ex\u00e9cution \u2013<em> le temps de r\u00e9ponse<\/em> \u2013 de la requ\u00eate)<\/li>\n<li>Agr\u00e9ger ses r\u00e9sultats par intervalle de temps, par \u00e9chantillons, par contr\u00f4leurs, etc.<\/li>\n<li>S\u00e9lectionner simplement des donn\u00e9es par intervalle de temps ou nombre d&rsquo;utilisateurs virtuels (exclure les p\u00e9riodes de mont\u00e9e en charges, par exemple)<\/li>\n<li>Croiser ses donn\u00e9es (faire des \u00ab tableaux crois\u00e9s dynamiques \u00bb ou pivot)<\/li>\n<\/ul>\n<p style=\"\">Pour r\u00e9sumer, il est possible de faire beaucoup de choses, \u00e0 cause et gr\u00e2ce aux requ\u00eates SQL avec SQLite, ceci de mani\u00e8re simple par rapport \u00e0 une base de donn\u00e9es &lsquo;plus grosse&rsquo; (disons relationnelle) ou bien m\u00eame par rapport \u00e0 Access ou Base qui se r\u00e9velent bien lentes avec 400 000 lignes dans une m\u00eame table.<\/p>\n<p style=\"\">Dans le <a href=\"http:\/\/blog.milamberspace.net\/index.php\/2009\/05\/02\/jmeter-utiliser-sqlite-pour-traiter-les-resultats-dun-test-de-charges-par-palier-281.html\" target=\"_self\">billet suivant, je vous propose un mode d&#8217;emploi<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s l&rsquo;ex\u00e9cution d&rsquo;un tir de charges, il faut faire le rapport de tir avec si possible de beaux tableaux et\/ou graphiques. Si vous avez d\u00e9j\u00e0 utilis\u00e9 JMeter (ce que je pr\u00e9suppose) vous savez que les r\u00e9cepteurs de JMeter sont bien pour avoir des tableaux de r\u00e9sultats (en particulier celui du rapport consolid\u00e9), mais ils montrent &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2009\/05\/02\/jmeter-et-la-creation-du-rapport-de-tir-de-charges-278.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">JMeter et la cr\u00e9ation du rapport de tir de charges<\/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,34],"tags":[330,175,174,59],"class_list":["post-278","post","type-post","status-publish","format-standard","hentry","category-apache","category-jmeter","category-tests-de-charges","tag-jmeter","tag-rapport","tag-sqlite","tag-tir-de-charges"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/278","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=278"}],"version-history":[{"count":6,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/278\/revisions"}],"predecessor-version":[{"id":384,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/278\/revisions\/384"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}