<?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>Blog de Florian Bogey &#187; stress</title>
	<atom:link href="https://www.blog.florian-bogey.fr/tag/stress/feed" rel="self" type="application/rss+xml" />
	<link>https://www.blog.florian-bogey.fr</link>
	<description>// Développeur Web - Administrateur système</description>
	<lastBuildDate>Mon, 03 Mar 2014 18:12:00 +0000</lastBuildDate>
	<language>fr-FR</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Effectuer des tests de montée en charge avec Tsung (Partie 3 &#8211; Le test)</title>
		<link>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-3.html</link>
		<comments>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-3.html#comments</comments>
		<pubDate>Wed, 13 Feb 2013 21:08:58 +0000</pubDate>
		<dc:creator><![CDATA[Florian]]></dc:creator>
				<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Systèmes et réseaux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[charge]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[montée en charge]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[stress]]></category>
		<category><![CDATA[stress test]]></category>
		<category><![CDATA[Tsung]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.blog.florian-bogey.fr/?p=325</guid>
		<description><![CDATA[Cet article est la dernière partie d&#8217;un tutoriel en trois phases, consacré à Tsung. Après nous être intéressé à l&#8217;installation de Tsung, puis à sa configuration nous allons dans cette troisième partie effectuer le test sur notre plateforme et générer le rapport. Sommaire du tutoriel Effectuer des tests de montée en charge avec Tsung (Partie [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cet article est la dernière partie d&rsquo;un tutoriel en trois phases, consacré à <strong>Tsung</strong>. Après nous être intéressé à l&rsquo;<a title="Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html">installation de Tsung</a>, puis à sa <a title="Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html">configuration</a> nous allons dans cette troisième partie effectuer le test sur notre plateforme et générer le rapport.</p>
<p><span id="more-325"></span></p>
<p><strong>Sommaire du tutoriel</strong></p>
<ol>
<li><a title="Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html">Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)</a></li>
<li><a title="Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html">Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration</a>)</li>
<li><strong>Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)</strong></li>
</ol>
<h2 class="paddingTop">1 &#8211; Lancer le test</h2>
<p>Nous pouvons ensuite<strong> lancer le test</strong> avec la commande (qui par défaut chargera le fichier de configuration ~/.tsung/tsung.xml) :</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
tsung start
</pre>
<p>Pour utiliser un autre fichier de configuration, il faut passer le chemin de ce dernier à la commande, soit :</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
tsung -f ~/.tsung/tsung-second-test.xml start
</pre>
<p>Au lancement du test, <strong>Tsung</strong> crée un dossier contenant les logs, que nous utiliserons plus tard pour générer le rapport.</p>
<p><a title="Résultat de la commande Tsung start" href="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-start.jpg" rel="lightbox"><img alt="Tsung start" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-start.jpg" /></a></p>
<p>La montée en charge est maintenant lancée vous pouvez à tout moment l&rsquo;arrêter en tapant la commande « Tsung stop » ou la combinaison de touche ctrl+c</p>
<h2 class="paddingTop">2 &#8211; Générer le rapport</h2>
<p>Une fois le test terminé, il faut se rendre dans le dossier contenant les logs :</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
Cd ~/.tsung/log/20130201-2348
</pre>
<p>Et ensuite<strong> générer le rapport</strong> avec la commande (notez qu’il sera plus pratique de créer un alias nommé par exemple « tsung-repport » que d’exécuter cette commande).</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
/usr/lib/tsung/bin/tsung_stats.pl
</pre>
<p>Le rapport se trouvera alors dans le même dossier que les logs, et se nommera «<strong> repport.html</strong> »</p>
<p>L’ouverture du rapport peut se faire entre autre avec la commande (A condition d’utiliser l’option –X de ssh)</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
firefox report.html
</pre>
<p>Le rapport possède deux parties, la première étant composée de <strong>statistiques</strong>,</p>
<p><a title="Rapport de montée en charge Tsung" href="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-rapport-1-1024x615.png" rel="lightbox"><img alt="Rapport tsung" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-rapport-1-1024x615.png" width="500px" /></a></p>
<p>et la seconde de <strong>graphiques</strong>.</p>
<p><a title="Rapport de montée en charge Tsung" href="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-rapport-2-1024x615.png" rel="lightbox"><img alt="Rapport tsung" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-rapport-2-1024x615.png" width="500px" /></a></p>
<p><a title="Rapport de montée en charge Tsung" href="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-rapport-3-1024x615.png" rel="lightbox"><img alt="Rapport tsung" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-rapport-3-1024x615.png" width="500px" /></a></p>
<p>Il ne reste maintenant plus qu’à analyser le rapport afin de tirer les conclusions de cette montée en charge. A noter que le rapport ci-dessus a été généré en quelques secondes de tests (d’où le peu d’informations qu’il contient).</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-3.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Effectuer des tests de montée en charge avec Tsung (Partie 2 &#8211; Configuration)</title>
		<link>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html</link>
		<comments>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html#comments</comments>
		<pubDate>Wed, 13 Feb 2013 21:05:53 +0000</pubDate>
		<dc:creator><![CDATA[Florian]]></dc:creator>
				<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Systèmes et réseaux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[charge]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[montée en charge]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[stress]]></category>
		<category><![CDATA[stress test]]></category>
		<category><![CDATA[Tsung]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.blog.florian-bogey.fr/?p=302</guid>
		<description><![CDATA[Cet article est la seconde partie d&#8217;un tutoriel en trois phases, consacré à Tsung. Après nous être intéressé à l&#8217;installation de Tsung, nous allons dans cette seconde partie détailler la configuration de l&#8217;outil (tout en restant dans le cadre du test d&#8217;une application web) ainsi que l&#8217;enregistrement de scénarios. Sommaire du tutoriel Effectuer des tests [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cet article est la seconde partie d&rsquo;un tutoriel en trois phases, consacré à <strong>Tsung</strong>. Après nous être intéressé à l&rsquo;<a title="Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html">installation de Tsung</a>, nous allons dans cette seconde partie détailler la configuration de l&rsquo;outil (tout en restant dans le cadre du test d&rsquo;une application web) ainsi que l&rsquo;enregistrement de scénarios.</p>
<p><span id="more-302"></span></p>
<p><strong>Sommaire du tutoriel</strong></p>
<ol>
<li><a title="Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html">Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)</a></li>
<li><strong>Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)</strong></li>
<li><a title="Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-3.html">Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)</a></li>
</ol>
<h2 class="paddingTop">1 &#8211; Copier un exemple basique dans ~/.tsung</h2>
<p><strong>Tsung</strong> propose plusieurs fichiers d’exemples de configuration, et nous allons ici en prendre un simple afin de l’adapter à notre application. Il faut tout d’abord vérifier l’existence du répertoire ~/.tsung qui est l’emplacement des fichiers de configuration et de journaux de Tsung.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
Mkdir ~/.tsung
</pre>
<p>Copier ensuite le fichier d’exemple.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
cp  /usr/share/doc/tsung/examples/http_simple.xml ~/.tsung/tsung.xml
</pre>
<h2 class="paddingTop">2 &#8211; Enregistrement d’un scénario</h2>
<p>A cette étape nous allons utiliser la commande « <strong>Tsung-recorder</strong> » pour enregistrer un scénario de navigation, c’est-à-dire l’activité d’un internaute sur notre application. Cette étape est néanmoins optionnelle puisqu’il sera possible d’écrire notre scénario directement dans le fichier de configuration de <strong>Tsung</strong> (un scénario peut être juste le chargement d’une page, un fichier etc.).</p>
<p>Pour lancer l’enregistrement d’un scénario il suffit de taper la commande :</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
tsung-recorder start
</pre>
<p><strong>Tsung-recorder</strong> lancera un proxy qui écoutera sur le port 8090 et enregistrera la navigation dans un fichier. Il suffira ensuite de paramétrer un navigateur internet afin qu’il utilise ce proxy.</p>
<p><strong>Tsung recorder</strong> nous indiquera aussi le nom du fichier généré.</p>
<p><a title="Résultat de la commande Tsung-recorder start" href="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-recorder.jpg" rel="lightbox"><img alt="Tsung recorder" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/tsung-recorder.jpg" width="500" /></a></p>
<p>L’étape suivante est de lancer le navigateur (ici Firefox) installé sur le serveur. Si vous ne possédez pas d’interface graphique sur le serveur, il faudra rediriger la sortie graphique avec l’option –X de ssh.</p>
<p>Pour ce faire, il faut tout d’abord installer les paquets X Window.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
yum groupinstall 'X Window System'
</pre>
<p>Ouvrir une nouvelle session SSH.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
ssh –X utilisateur@serveur
</pre>
<p>Puis lancer Firefox via la commande.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
Firefox
</pre>
<p>Votre navigateur doit alors s’ouvrir. Il suffit maintenant de configurer le proxy et de naviguer sur l’application que l’on souhaite tester.</p>
<p><a title="Configurer le proxy de Firefox pour Tsung" href="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/proxy-firefox.png" rel="lightbox"><img alt="Tsung recorder" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/02/proxy-firefox.png" width="500" /></a></p>
<p>Une fois terminé, taper la commande suivante pour arrêter l’enregistrement :</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
tsung-recorder stop
</pre>
<p>Nous pouvons visualiser l’enregistrement en ouvrant le fichier :</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
cat  ~/.tsung/tsung_recorder20130201-2335.xml
</pre>
<p>Voici un extrait du contenu :</p>
<pre class="brush: xml; auto-links: false; gutter: true; title: ; notranslate">
&lt;request&gt;&lt;http url='/index.html' version='1.1' method='GET'&gt;&lt;/http&gt;&lt;/request&gt;
&lt;request&gt;&lt;http url='/contact.html' version='1.1' method='GET'&gt;&lt;/http&gt;&lt;/request&gt;
</pre>
<h2 class="paddingTop">3 &#8211; Configuration du test</h2>
<p>Maintenant que tout est installé et que notre scénario est enregistré, nous allons éditer la configuration de notre test afin de renseigner tous les paramètres de la montée en charge. Pour cela il faut éditer le fichier<strong> tsung.xml</strong></p>
<p>Dans le XML de configuration, quatre nœuds vont nous intéresser :</p>
<ul>
<li><strong>&lt;Clients&gt;</strong> : Il s’agit de définir les clients utilisés par Tsung. Il est possible de définir les IP, nombre d’utilisateurs maximum, nombre de processeurs etc.</li>
<li><strong>&lt;Servers&gt;</strong> : Défini le serveur cible (notre plateforme à tester).</li>
<li><strong>&lt;Load&gt;</strong> : Défini la/les phase(s) d’arrivée(s) de nos visiteurs, c’est-à-dire les étapes de notre montée en charge. Le nœud Load est donc composé d’un ou plusieurs nœuds <strong>arrivalphase</strong>.
<ul>
<li><strong>&lt;Arrivalphase&gt;</strong> : Contient les détails d’une phase d’arrivée : durée, nombre d’utilisateurs à simuler, fréquence d’arrivée des visiteurs …</li>
<li>Généralement, plusieurs phases seront définies en accentuant la montée en charge, jusqu’à arriver à un stress intensif.</li>
</ul>
</li>
<li><strong>&lt;Sessions&gt;</strong> : Contient les scénarios d’utilisation possible. Chaque scénario équivaut à un nœud « Session », et est composé de « Request ». A noter qu’il est possible de définir des probabilités pour les scénarios (le total des probabilités doit toujours être égal à 100).
<ul>
<li><strong>Les boucles</strong> : permettent d’augmenter le nombre de requêtes à effectuer sur l’application. Tsung nous permet de boucler sur les balises <strong>&lt;request&gt;</strong>, via l’utilisation de <strong>&lt;For&gt;</strong> …</li>
<li>&lt;for from=&nbsp;&raquo;1&Prime; to=&nbsp;&raquo;10&Prime; var=&nbsp;&raquo;i&nbsp;&raquo;&gt;&lt;request&gt;&#8230;&lt;/request&gt;&lt;/for&gt; : Pour boucler 10 fois sur les &lt;<strong>Request&gt;</strong>, de façon à générer encore plus de requêtes sur notre plateforme.</li>
</ul>
</li>
</ul>
<p>Maintenant que nous avons présenté rapidement les principaux points du fichier de configuration, nous allons passer à l’édition. Pour ce faire, il suffit d’ouvrir le fichier<strong> ~/.tsung/tsung.xml</strong>, et de le modifier afin de créer la configuration de test idéale pour votre architecture, vos besoins, etc.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
vi ~/.tsung/tsung.xml
</pre>
<p>Voici un exemple de fichier XML :</p>
<pre class="brush: xml; auto-links: false; gutter: true; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;!DOCTYPE tsung SYSTEM &quot;/usr/share/tsung/tsung-1.0.dtd&quot;&gt;
&lt;tsung loglevel=&quot;notice&quot; version=&quot;1.0&quot;&gt;

	&lt;!-- Configuration du client --&gt;
	&lt;clients&gt;
		&lt;client host=&quot;localhost&quot; use_controller_vm=&quot;true&quot;/&gt;
	&lt;/clients&gt;

	&lt;!-- Configuration du serveur --&gt;
	&lt;servers&gt;
		&lt;server host=&quot;192.168.1.11&quot; port=&quot;80&quot; type=&quot;tcp&quot;&gt;&lt;/server&gt;
	&lt;/servers&gt;

	&lt;!-- phases d'arrivée, 3 paliers de 10 minutes où l'on augmente la fréquence d'arrivée de 1 puis 10 puis 30 visiteurs par seconde --&gt;
    &lt;load&gt;
        &lt;arrivalphase phase=&quot;1&quot; duration=&quot;10&quot; unit=&quot;minute&quot;&gt;
            &lt;users arrivalrate=&quot;1&quot; unit=&quot;second&quot;&gt;&lt;/users&gt;
        &lt;/arrivalphase&gt;
        &lt;arrivalphase phase=&quot;2&quot; duration=&quot;10&quot; unit=&quot;minute&quot;&gt;
            &lt;users arrivalrate=&quot;10&quot; unit=&quot;second&quot;&gt;&lt;/users&gt;
        &lt;/arrivalphase&gt;
        &lt;arrivalphase phase=&quot;3&quot; duration=&quot;10&quot; unit=&quot;minute&quot;&gt;
            &lt;users arrivalrate=&quot;30&quot; unit=&quot;second&quot;&gt;&lt;/users&gt;
        &lt;/arrivalphase&gt;
    &lt;/load&gt;

	&lt;!-- Les scénarios --&gt;
	&lt;sessions&gt;
		&lt;!-- Scénarios 1 avec 70% de probabilité, l'internaute charge successivement 3 pages --&gt;
		&lt;session name=&quot;scenario1&quot; probability=&quot;70&quot; type=&quot;ts_http&quot;&gt;
			&lt;request&gt;&lt;http url='/page1.html' version='1.1' method='GET'&gt;&lt;/http&gt;&lt;/request&gt;
			&lt;request&gt;&lt;http url='/page2.html' version='1.1' method='GET'&gt;&lt;/http&gt;&lt;/request&gt;
			&lt;request&gt;&lt;http url='/page3.html' version='1.1' method='GET'&gt;&lt;/http&gt;&lt;/request&gt;
		&lt;/session&gt;
		&lt;!-- Scénarios 2 avec 30% de probabilité, l'internaute charge 10 fois la page 1 --&gt;
		&lt;session name=&quot;scenario2&quot; probability=&quot;30&quot; type=&quot;ts_http&quot;&gt;
			&lt;for from=&quot;1&quot; to=&quot;10&quot; var=&quot;i&quot;&gt;
				&lt;request&gt;&lt;http url='/page1.html' version='1.1' method='GET'&gt;&lt;/http&gt;&lt;/request&gt;
			&lt;/for&gt;
		&lt;/session&gt;
	&lt;/sessions&gt;
&lt;/tsung&gt;
</pre>
<p>Dans la troisième et dernière partie de ce tutoriel nous verrons comment <a title="Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-3.html">lancer le test de montée en charge et générer un rapport</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Effectuer des tests de montée en charge avec Tsung (Partie 1 &#8211; Installation)</title>
		<link>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html</link>
		<comments>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html#comments</comments>
		<pubDate>Wed, 13 Feb 2013 21:00:09 +0000</pubDate>
		<dc:creator><![CDATA[Florian]]></dc:creator>
				<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Systèmes et réseaux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[charge]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[montée en charge]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[stress]]></category>
		<category><![CDATA[stress test]]></category>
		<category><![CDATA[Tsung]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.blog.florian-bogey.fr/?p=268</guid>
		<description><![CDATA[Cet article est la première partie d&#8217;un tutoriel en trois phases, consacré à Tsung, un outil de test de montées charge multi-protocoles. Dans cette première partie nous ferons une brève introduction concernant l&#8217;outil et les tests de montée en charge, puis nous verrons comment installer Tsung sur une distribution Linux. Tsung est un outil permettant [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cet article est la première partie d&rsquo;un tutoriel en trois phases, consacré à <strong>Tsung</strong>, un outil de test de montées charge multi-protocoles. Dans cette première partie nous ferons une brève introduction concernant l&rsquo;outil et les tests de montée en charge, puis nous verrons comment installer Tsung sur une distribution Linux.</p>
<p><span id="more-268"></span></p>
<p><strong>Tsung</strong> est un outil permettant d’effectuer des tests de montée en charge sur une architecture. Une de ses particularités, est qu’il ne se limite pas au protocole <strong>HTTP</strong>, mais gère aussi WebDAV, SOAP, PostgreSQL, <strong>MySQL</strong> ou encore LDAP. Tsung est gratuit, distribué sous licence GPLv2 et dispose d’une <a title="Documentation Tsung" href="http://tsung.erlang-projects.org/user_manual.html" target="_blank">documentation </a>relativement claire.</p>
<p>Le principe est relativement simple : l’application va simuler l’arrivée de nombreux utilisateurs sur la plateforme. Le plus de <strong>Tsung</strong> par rapport à ses concurrent est de pouvoir créer des scénarios d’utilisation (et propose même un utilitaire d’enregistrement de scénario). Cela signifie que l’application ne se contente pas de charger une page à intervalle régulier, mais de simuler la navigation sur la plateforme.</p>
<p>Une fois le test terminé, <strong>Tsung</strong> nous permettra de générer un rapport contenant une série de graphiques ; l’analyse sera donc relativement simple.</p>
<p>L’utilisation d’utilitaires de montée en charge comme Tsung permet :</p>
<ul>
<li>De connaître la charge qu’une plateforme peut supporter</li>
<li>Vérifier que la capacité d’accueil de la plateforme est conforme aux spécifications (et donc aux demandes d’un client par exemple)</li>
</ul>
<p>Avant d’utiliser cet outil, il est bon de s’assurer de deux choses :</p>
<ul>
<li>Que le réseau est suffisamment dimensionné : en effet un réseau sous dimensionné créera un goulot d’étranglement en amont de notre plateforme.</li>
<li>La plateforme doit vous appartenir. Dans le cas contraire, vous devez avoir un accord de l’hébergeur.</li>
</ul>
<p>Nous allons ici nous intéresser à la mise en place d’un test simple sur une application web. Nous effectuerons les manipulations sous <strong>CentOS</strong>, les commandes seront donc identiques sous <strong>Fedora</strong> et <strong>Red Hat</strong> (RHEL). Pour les autres distributions, seuls les noms des paquets devraient changer ainsi que deux ou trois commandes.</p>
<p><strong>Sommaire du tutoriel</strong></p>
<ol>
<li><strong>Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)</strong></li>
<li><a title="Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html">Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)</a></li>
<li><a title="Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-3.html">Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)</a></li>
</ol>
<h2 class="paddingTop">1 &#8211; Installer CentOS</h2>
<p>Comme dit précédemment, nous utiliserons <strong>CentOS</strong>, la version 6.3 minimale. Pour le téléchargement, c’est par <a title="Télécharger CentOS" href="http://www.centos.org/modules/tinycontent/index.php?id=31" target="_blank">ici</a>.</p>
<p>La première étape sera donc l’installation de la distribution.</p>
<h2 class="paddingTop">2 &#8211; Ajouter les dépôts additionnels</h2>
<p>Nous installons ici les dépôts <strong>RPMForge</strong>, <strong>EPEL</strong> et <strong>Remi</strong> qui nous servirons à installer les paquets requis pour l’installation de <strong>Tsung</strong>.</p>
<pre class="brush: bash; auto-links: false; gutter: true; title: ; notranslate">
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
</pre>
<h2 class="paddingTop">3 &#8211; Mise à jour de la distribution et installation des paquets utiles</h2>
<p>Nous allons maintenant mettre à jour la distribution et installer les paquets Man, Locate, Bash-Completion, Make et Wget.</p>
<pre class="brush: bash; auto-links: false; title: ; notranslate">
yum update
yum install man mlocate bash-completion make wget
</pre>
<h2 class="paddingTop">4 &#8211; Installer les pré-requis</h2>
<p>Nous allons maintenant installer les paquets requis pour l’installation de <strong>Tsung</strong>. Il s’agit d’<strong>Erlang</strong>, <strong>Perl</strong>, Gnuplot ainsi que certains modules de Perl.</p>
<pre class="brush: bash; auto-links: false; title: ; notranslate">
yum install erlang perl gnuplot perl-RRD-Simple.noarch perl-Log-Log4perl-RRDs.noarch perl-Template-Toolkit
</pre>
<p>Nous installerons aussi Firefox car il nous servira pour la visualisation des rapports.</p>
<pre class="brush: bash; auto-links: false; title: ; notranslate">
yum --enablerepo=remi install Firefox
</pre>
<h2 class="paddingTop">5 &#8211; Installation de Tsung</h2>
<p>Nous allons maintenant passer à l’installation de <strong>Tsung</strong> à proprement parler. A l’heure de l’écriture de ce guide, Tsung est en version 1.4.2. La dernière version se trouve sur <a title="Télécharger Tsung" href="http://tsung.erlang-projects.org" target="_blank">le site officiel</a>.</p>
<p>Pour le téléchargement :</p>
<pre class="brush: bash; auto-links: false; title: ; notranslate">
cd /tmp
wget http://tsung.erlang-projects.org/dist/tsung-1.4.2.tar.gz
</pre>
<p>Ensuite il faut décompresser l’archive et compiler Tsung. Cette dernière opération peut être un peu longue.</p>
<pre class="brush: bash; auto-links: false; title: ; notranslate">
tar zxfv  tsung-1.4.2.tar.gz
cd tsung-1.4.2
./configure &amp;&amp; make &amp;&amp; make install
</pre>
<p><a title="Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)" href="http://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-2.html">Partie 2 : La configuration de Tsung</p>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.florian-bogey.fr/tutoriel-tests-montee-charge-tsung-partie-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
