<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MilamberSpace - JMeter &#187; Intervalle</title>
	<atom:link href="http://blog.milamberspace.net/index.php/tag/intervalle/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.milamberspace.net</link>
	<description>Apache JMeter (surtout) mais aussi GNU/Linux, OpenSource, l&#039;Informatique, etc.</description>
	<lastBuildDate>Sun, 05 Feb 2012 09:51:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>JMeter &#8211; Fixer la durée de répétition d&#8217;une requête</title>
		<link>http://blog.milamberspace.net/index.php/2008/08/15/jmeter-fixer-la-duree-de-repetition-dune-requete-87.html</link>
		<comments>http://blog.milamberspace.net/index.php/2008/08/15/jmeter-fixer-la-duree-de-repetition-dune-requete-87.html#comments</comments>
		<pubDate>Fri, 15 Aug 2008 09:00:09 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Intervalle]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=87</guid>
		<description><![CDATA[Vous utilisez JMeter pour faire un tir de charges (ou autres), et vous devez avoir une requête qui s&#8217;exécute à un intervalle fixe quelque soit le temps de réponse de la requête. Par exemple, vous devez exécuter une requête chaque 20 secondes, le temps de réponse de la dite requête est 4,5 sec. Donc si [...]]]></description>
			<content:encoded><![CDATA[<p style="">Vous utilisez JMeter pour faire un tir de charges (ou autres), et vous devez avoir une requête qui s&#8217;exécute à<strong> un intervalle fixe</strong> <strong>quelque soit le temps de réponse de la requête</strong>.</p>
<p style="">Par exemple, vous devez exécuter une requête chaque 20 secondes, le temps de réponse de la dite requête est 4,5 sec. Donc si on démarre à T0, on a T0+4,5 sec la requête, puis on demande à JMeter de faire une pause pendant (20 sec – 4,5 sec = 15,5 sec), puis une nouvelle requête, etc.</p>
<p style=""><img src="/wp-content/images/jmeter08-img/01-time.png" alt="Schéma de répétition d'une requête à interval fixe" width="689" height="94" /></p>
<p style=""><em>Voici comme le faire avec JMeter.</em><span id="more-87"></span></p>
<p style=""><img style="border: 1px solid black;" src="/wp-content/images/jmeter08-img/00-test-plan.png" alt="Test Plan Jmeter" width="687" height="273" /></p>
<p style="">Dans l&#8217;élément <strong>User Defined Variables</strong>, on place une variable qui sera la durée fixe (en millisecondes) de l&#8217;intervalle.</p>
<p style=""><img style="border: 1px solid black;" src="/wp-content/images/jmeter08-img/02-user-defined-variables.png" alt="Element User Defined Variables" width="603" height="142" /></p>
<p style="">On place également un élément <strong>Transaction Controller </strong>qui contient l&#8217;élément <strong>HTTP Request</strong> (ou plusieurs éléments<strong> HTTP Request</strong>). A l&#8217;intérieur de l&#8217;élément <strong>HTTP Request</strong> (ou du premier élément), on ajoute un élément <strong>User Parameters</strong>, dans lequel on ajoute une variable START qui sera initialisée à « <em>${__time(,)}</em> », c&#8217;est à dire au temps en millisecondes de début de la requête.</p>
<p style=""><img style="border: 1px solid black;" src="/wp-content/images/jmeter08-img/03-users_parameters.png" alt="Element Users Parameters" width="598" height="147" /></p>
<p>Ensuite en dernier élément du<strong> Transaction Controller</strong>, on ajoute un élément <strong>Test Action</strong>, qui sera chargé de mettre en pause le thread group durant l&#8217;intervalle de temps d&#8217;attente. Pour cela on définit sa durée avec la formule suivante : « <em>${__longSum(${INTERVALLE},${START},-${__time()})}</em> ». Cette dernière fait le calcul du temps à attendre par rapport à la variable START et la variable INTERVALLE.</p>
<p style=""><img style="border: 1px solid black;" src="/wp-content/images/jmeter08-img/04-test-action.png" alt="Element Test Action" width="401" height="160" /></p>
<p style="">On ajoute les autres éléments restants (cookie manager, http request defaults, etc). Puis, on peut lancer un petit tir de contrôle de bon fonctionnement. Ici le <strong>Thread Group</strong> est à 1-1-4 (1 user, ramp-up à 1 sec, 4 boucles).</p>
<p style="">Le résultat est ci-dessous. On voit que les requêtes durent en moyenne 5,7 secondes, et que chaque requête est appelée chaque 20 secondes (l&#8217;élément<strong> Transaction Controller </strong>donnant le temps passé de la requête HTTP + du Test Action).</p>
<p style=""><img style="border: 1px solid black;" src="/wp-content/images/jmeter08-img/05-summary-results.png" alt="Résultats du tir" width="710" height="166" /></p>
<p style="">Et voilà, avec ce type de scénario, on peut répondre à un besoin du type &laquo;&nbsp;<em>je veux que mon utilisateur exécute chaque 20 secondes une requête quelque soit le temps de réponse de la requête</em>&laquo;&nbsp;</p>
<p style="">Le script JMeter est téléchargeable <a href="https://blog.milamberspace.net/wp-content/uploads/fichiers/Duree_Thread_fr.jmx.zip">ici</a>.</p>
<p style="">
<p style="">./</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2008/08/15/jmeter-fixer-la-duree-de-repetition-dune-requete-87.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

