{"id":46,"date":"2007-11-07T00:12:29","date_gmt":"2007-11-07T00:12:29","guid":{"rendered":"http:\/\/blog.milamberspace.net\/index.php\/jmeter-tir-de-charges-par-paliers-et-exploitation-des-resultats\/identification-scenario-et-preparation-des-paliers"},"modified":"2012-09-28T07:01:32","modified_gmt":"2012-09-28T06:01:32","slug":"identification-scenario-et-preparation-des-paliers","status":"publish","type":"page","link":"https:\/\/blog.milamberspace.net\/index.php\/jmeter-pages\/jmeter-tir-de-charges-par-paliers-et-exploitation-des-resultats\/identification-scenario-et-preparation-des-paliers","title":{"rendered":"Identification sc\u00e9nario et pr\u00e9paration des paliers"},"content":{"rendered":"<p><strong>Etape 1 : Identification du sc\u00e9nario fonctionnel<\/strong><\/p>\n<p>La premi\u00e8re \u00e9tape consiste toujours \u00e0 identifier son sc\u00e9nario.<\/p>\n<p>Pour ce test, j&rsquo;ai d\u00e9ploy\u00e9 une petite application sur un serveur Tomcat, cette application va interroger une base de donn\u00e9es MySQL pour avoir une liste de boxeurs (environ 400 \u00e9l\u00e9ments). L&rsquo;application va le faire de 4 fa\u00e7ons diff\u00e9rentes :<\/p>\n<ol>\n<li>Acc\u00e8s direct \u00e0 la base de donn\u00e9es via JDBC (pour chaque appel : ouverture connexion, requ\u00eate SQL, fermeture connexion)<\/li>\n<li>Acc\u00e8s direct \u00e0 la base de donn\u00e9es via JDBC mais avec les \u00e9tapes d&rsquo;ouverture et de fermeture de connexions dans le init() de la servlet (donc pour chaque appel, on r\u00e9utilise la m\u00eame connexion)<\/li>\n<li>Acc\u00e8s \u00e0 la base de donn\u00e9es via un pool de connexions g\u00e9r\u00e9 par Tomcat, r\u00e9cup\u00e9r\u00e9 par JNDI<\/li>\n<li>Acc\u00e8s \u00e0 la base de donn\u00e9es via un pool de connexions g\u00e9r\u00e9 par Tomcat avec en plus une v\u00e9rification de la validit\u00e9 des connexions avant \/ apr\u00e8s les avoir prises ou rendues.<\/li>\n<\/ol>\n<p>Dans tous les cas, c&rsquo;est la m\u00eame liste qui est affich\u00e9e.<\/p>\n<p><em>Ecran 1 : choix du type d&rsquo;acc\u00e8s <\/em><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" src=\"\/wp-content\/images\/jmeter03-img\/02-seamonkey-01.gif\" alt=\"\" width=\"616\" height=\"312\" align=\"left\" border=\"0\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>Ecran 2 : d\u00e9but de la liste de boxeurs<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter03-img\/03-seamonkey-02.gif\" alt=\"\" width=\"616\" height=\"312\" align=\"left\" border=\"0\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>Ecran 3 : fin de la liste de boxeurs<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter03-img\/04-seamonkey-03.gif\" alt=\"\" width=\"616\" height=\"312\" align=\"left\" border=\"0\" \/><\/p>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><\/h3>\n<h3><strong>Etape 2 : Pr\u00e9parer son sc\u00e9nario de \u00ab paliers \u00bb<\/strong><\/h3>\n<p>Il faut \u00ab mod\u00e9liser \u00bb son sc\u00e9nario de tir de charges en palier, ceci afin de le produire dans JMeter, c&rsquo;est \u00e0 dire param\u00e9trer et configurer JMeter pour qu&rsquo;il reproduise les paliers voulus.<\/p>\n<p>Pour notre cas, nous allons avoir le sc\u00e9nario de paliers suivants :<\/p>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td width=\"50%\"><strong>Temps (secondes)<\/strong><\/td>\n<td valign=\"top\" width=\"50%\"><strong>Nombre de threads<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+0<\/td>\n<td width=\"50%\">0 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+0 \u00e0 T+500<\/td>\n<td width=\"50%\">Mont\u00e9e de 0 \u00e0 50 V<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+500 \u00e0 T+1000<\/td>\n<td width=\"50%\">Palier \u00e0 50 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+1000 \u00e0 T+1500<\/td>\n<td width=\"50%\">Mont\u00e9e de 50 \u00e0 100 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+1500 \u00e0 T+2000<\/td>\n<td width=\"50%\">Palier \u00e0 100 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+2000<\/td>\n<td width=\"50%\">Descente \u00e0 50 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+2000 \u00e0 T+2500<\/td>\n<td width=\"50%\">Palier \u00e0 50 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"page-break-inside: avoid;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"50%\">T+2500<\/td>\n<td width=\"50%\">0 VU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Exprim\u00e9 dans un graphique, cela donne :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter03-img\/01-courbe_paliers.gif\" alt=\"\" width=\"736\" height=\"320\" align=\"left\" border=\"1\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Ensuite passons \u00e0 <a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-tir-de-charges-par-paliers-et-exploitation-des-resultats\/personnalisation-enregistrement-du-scenario-et-mise-en-place-des-paliers\">l&rsquo;\u00e9tape suivante.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Etape 1 : Identification du sc\u00e9nario fonctionnel La premi\u00e8re \u00e9tape consiste toujours \u00e0 identifier son sc\u00e9nario. Pour ce test, j&rsquo;ai d\u00e9ploy\u00e9 une petite application sur un serveur Tomcat, cette application va interroger une base de donn\u00e9es MySQL pour avoir une liste de boxeurs (environ 400 \u00e9l\u00e9ments). L&rsquo;application va le faire de 4 fa\u00e7ons diff\u00e9rentes : &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/jmeter-pages\/jmeter-tir-de-charges-par-paliers-et-exploitation-des-resultats\/identification-scenario-et-preparation-des-paliers\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Identification sc\u00e9nario et pr\u00e9paration des paliers<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":45,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-46","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"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=46"}],"version-history":[{"count":11,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/46\/revisions"}],"predecessor-version":[{"id":1217,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/46\/revisions\/1217"}],"up":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/45"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}