<?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>L&#039;admin sous GNU / Linux - Blog Libre &#187; benchmark</title> <atom:link href="http://blog.admin-linux.org/tag/benchmark/feed" rel="self" type="application/rss+xml" /><link>http://blog.admin-linux.org</link> <description>Vous trouverez des howtos, des news, des astuces sur les logiciels libres. Les sujets traités y sont la messagerie (postfix, cyrus...), les systèmes (ubuntu, debian, gentoo...), la supervision (nagios, zabbix, centreon...), les base des données (mysql, postgresql), le web (apache et autres...) et tout le reste</description> <lastBuildDate>Thu, 26 Jan 2012 13:31:34 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Réaliser des tests de performances de site web avec Tsung</title><link>http://blog.admin-linux.org/serveurs-web-dapplication/realiser-des-tests-de-performances-de-site-web-avec-tsung</link> <comments>http://blog.admin-linux.org/serveurs-web-dapplication/realiser-des-tests-de-performances-de-site-web-avec-tsung#comments</comments> <pubDate>Thu, 16 Jun 2011 18:10:58 +0000</pubDate> <dc:creator>Pierre-Yves Dubreucq</dc:creator> <category><![CDATA[Serveurs Web & d'Application]]></category> <category><![CDATA[benchmark]]></category> <category><![CDATA[Planet-Libre]]></category> <category><![CDATA[tsung]]></category><guid isPermaLink="false">http://blog.admin-linux.org/?p=2586</guid> <description><![CDATA[Comme expliqué précédemment Tsung est un outil permettant de réaliser des tests de performances multi-protocole Je vais essayé de fournir une méthode pour installer Tsung sur une Debian (testing) plus...]]></description> <content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-2604" title="tsung_logo_non_officiel" src="http://blog.admin-linux.org/wp-content/uploads/2011/06/tsung_logo_non_officiel.png" alt="tsung logo non officiel Réaliser des tests de performances de site web avec Tsung" width="480" height="223" /></p><p>Comme expliqué précédemment <a title="Tsung est un outil permettant de réaliser des tests de performances multi-protocole" href="http://blog.admin-linux.org/administration/tsung-outils-de-benchmark-multi-protocole" target="_blank">Tsung est un outil permettant de réaliser des tests de performances multi-protocole</a></p><p>Je vais essayé de fournir une méthode pour installer Tsung sur une Debian (testing) plus précisemment LMDE (Linux Mint Debian) et ensuite je vais vous montrer comment réaliser des tests de performances.</p><h2>Installation :</h2><p>Tout d&#8217;abord, il faut installer les pré-requis :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> erlang-asn1 erlang-base erlang-corba erlang-crypto erlang-dev erlang-docbuilder erlang-edoc erlang-erl-docgen erlang-eunit erlang-ic erlang-inets erlang-inviso erlang-mnesia erlang-nox erlang-odbc erlang-os-mon erlang-parsetools erlang-percept erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssh erlang-ssl erlang-syntax-tools erlang-tools erlang-webtool erlang-xmerl libsctp1 lksctp-tools</pre></div></div><p>Une fois que tout est installé, il suffit de récupérer l&#8217;<a title="archive de Tsung" href="http://tsung.erlang-projects.org/dist/" target="_blank">archive de Tsung</a> et de la compiler.</p><p>Il existe une version paquet en .deb de <a title="Tsung pour Ubuntu" href="http://tsung.erlang-projects.org/dist/ubuntu/" target="_blank">Tsung pour Ubuntu</a> mais de mon côté ça n&#8217;a pas fonctionné, la version de Erlang présent sur les dépôts différait de la version utilisée pour générer le paquet .deb</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div><p>Une fois le paquet installé, vous aurez 2 nouveaux binaires :</p><p>tsung-recorder &amp; tsung</p><ul><li> <strong>tsung-recorder</strong> va vous permettre de créer vos scénarios de test de performances.</li><li><strong>tsung</strong> est l&#8217;outil qui lance le test</li></ul><h2>Comment réaliser des tests de performances :</h2><p>Nous allons lancer tsung-recorder :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">tsung-recorder start</pre></div></div><p>Tsung-recorder va écouter sur le port 8090.</p><p>Il vous suffit ensuite de paramétrer le proxy de votre navigateur http://localhost:8090 puis de naviguer sur votre site internet.</p><p>Tsung-recorder va enregistrer toutes vos actions qui deviendront votre scénario.</p><p>Penser à lancer un stop une fois le scénario réalisé :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">tsung-recorder stop</pre></div></div><p>Vous retrouverez dans votre répertoire utilisateur un fichier xml qui aura un nom de ce genre :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">tsung_recorder20110615-<span style="color: #000000;">22</span>:<span style="color: #000000;">44</span>.xml</pre></div></div><blockquote><p>Note :</p><p>Il faut penser à fermer tous les autres onglets, afin d&#8217;éviter de voir apparaître des requêtes qui seraient celle de rafraichissement automatique de page, j&#8217;ai eu le tour avec <a title="cacti" href="http://blog.admin-linux.org/tag/cacti" target="_blank">cacti</a> par exemple.</p><p>Vous pouvez aussi désactiver les extensions générant des requêtes, j&#8217;ai pour ma part rencontré des problèmes avec l&#8217;extension LastPass</p></blockquote><p>Une fois le scénario de navigation créé il faut créer le fichier de configuraiton utilisé par tsung :</p><p>Vous trouverez des exemples de fichiers de configuration dans ce dossier :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>doc<span style="color: #000000; font-weight: bold;">/</span>tsung<span style="color: #000000; font-weight: bold;">/</span>examples<span style="color: #000000; font-weight: bold;">/</span></pre></div></div><p>Voici une explication basique du fichier de configuration, qui doit se trouver dans votre répertoire utilisateur, pour moi :</p><p>/root/.tsung/tsung.xml</p><p>&lt;xml version=&nbsp;&raquo;1.0&#8243;?&gt;<br /> &lt;!DOCTYPE tsung SYSTEM &laquo;&nbsp;/usr/share/tsung/tsung-1.0.dtd&nbsp;&raquo;&gt;<br /> &lt;tsung loglevel=&nbsp;&raquo;notice&nbsp;&raquo; version=&nbsp;&raquo;1.0&#8243;&gt;</p><p>&lt;!&#8211; Configuration du client &#8211;&gt;<br /> &lt;clients&gt;<br /> &lt;client host=&nbsp;&raquo;localhost&nbsp;&raquo; use_controller_vm=&nbsp;&raquo;true&nbsp;&raquo;/&gt;<br /> &lt;/clients&gt;</p><p>&lt;!&#8211; Configuration du serveur cible &#8211;&gt;<br /> &lt;servers&gt;<br /> &lt;server host=&nbsp;&raquo;blog.admin-linux.org&nbsp;&raquo; port=&nbsp;&raquo;80&#8243; type=&nbsp;&raquo;tcp&nbsp;&raquo;&gt;&lt;/server&gt;<br /> &lt;/servers&gt;</p><p>&lt;load&gt;<br /> &lt;!&#8211; plusieurs phases d&#8217;arrivée de connexions peuvent être paramétrés :<br /> Pour chaque phase, vous devez paramétrer l&#8217;interval entre chaque<br /> nouvelle connection durant la phase.<br /> Dans mon exemple, la phase dure 7 minutes, et durant ces 7 minutes<br /> il y aura une connection toutes les 2 secondes &#8211;&gt;<br /> &lt;arrivalphase phase=&nbsp;&raquo;1&#8243; duration=&nbsp;&raquo;7&#8243; unit=&nbsp;&raquo;minute&nbsp;&raquo;&gt;<br /> &lt;users interarrival=&nbsp;&raquo;2&#8243; unit=&nbsp;&raquo;second&nbsp;&raquo;&gt;&lt;/users&gt;<br /> &lt;/arrivalphase&gt;<br /> &lt;/load&gt;</p><p>&lt;!&#8211; Ici on va paramétrer les différents user_agent avec lesquels on<br /> souhaite réaliser ce test.<br /> La somme des probabilité doit toujours être de 100 &#8211;&gt;</p><p>&lt;options&gt;<br /> &lt;option type=&nbsp;&raquo;ts_http&nbsp;&raquo; name=&nbsp;&raquo;user_agent&nbsp;&raquo;&gt;<br /> &lt;user_agent probability=&nbsp;&raquo;40&#8243;&gt;Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1&lt;/user_agent&gt;<br /> &lt;user_agent probability=&nbsp;&raquo;40&#8243;&gt;Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1&lt;/user_agent&gt;<br /> &lt;user_agent probability=&nbsp;&raquo;20&#8243;&gt;Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2) Gecko/20100115 Firefox/3.6&lt;/user_agent&gt;<br /> &lt;/option&gt;<br /> &lt;/options&gt;</p><p>&lt;!&#8211; start a session for a http user. the probability is the<br /> frequency of this type os session. The sum of all session&#8217;s<br /> probabilities must be 100 &#8211;&gt;</p><p>&lt;sessions&gt;</p><p>&lt;!&#8211; Ici on place les instructions du fichier xml généré avec tsung-recorder<br /> ici tsung_recorder20110615-22:44.xml &#8211;&gt;</p><p>&lt;/sessions&gt;<br /> &lt;/tsung&gt;</p><p>Une fois votre fichier paramétré, il vous suffit de lancer tsung :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pydlaptop ~ <span style="color: #666666; font-style: italic;"># tsung start</span>
Starting Tsung
<span style="color: #ff0000;">&quot;Log directory is: /root/.tsung/log/20110616-12:19&quot;</span></pre></div></div><p>Vous avez effectué à ce moment là votre premier test de performance, reste à connaître les résultats de ce tests.</p><h2><strong>Analyser ses performances :</strong></h2><p><strong><br /> </strong></p><p>Suite au test de performances, il est nécessaire d&#8217;avoir une vision du résultat<strong>.</strong></p><p>Pour cela Tsung fournit un outils qui permet de générer une page donnant accès aux données, mais fournit aussi des graphiques</p><p>Il existe l&#8217;outil tsung_stats.pl pour ça.</p><p>Tout d&#8217;abord, il faut installer les pré-requis :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> gnuplot gnuplot-nox gnuplot-x11 groff libgd2-noxpm libnetpbm10 netpbm psutils ttf-liberation libappconfig-perl libtemplate-perl</pre></div></div><p>Voici comment voir les paramètres de la commande :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>tsung<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>tsung_stats.pl <span style="color: #660033;">-help</span></pre></div></div><p>Voici la commande que j&#8217;ai lancé pour traiter les données de mon test :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pydlaptop ~ <span style="color: #666666; font-style: italic;"># /usr/lib/tsung/bin/tsung_stats.pl --stats .tsung/log/20110615-23\:53/tsung.log</span>
warn, <span style="color: #c20cb9; font-weight: bold;">last</span> interval <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">4</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> not equal to the first, use the first one <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">10</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
No data <span style="color: #000000; font-weight: bold;">for</span> Match
No data <span style="color: #000000; font-weight: bold;">for</span> Event
No data <span style="color: #000000; font-weight: bold;">for</span> Async
No data <span style="color: #000000; font-weight: bold;">for</span> Errors</pre></div></div><p>Vous optiendrez l&#8217;arborescence ci-dessous :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pydlaptop ~ <span style="color: #666666; font-style: italic;"># ls -l /home/pydubreucq/prog/tsung/.</span>
total <span style="color: #000000;">808</span>
drwxr-xr-x  <span style="color: #000000;">2</span> pydubreucq pydubreucq   <span style="color: #000000;">4096</span> <span style="color: #000000;">16</span> juin  <span style="color: #000000;">10</span>:<span style="color: #000000;">27</span> data
-rw-r--r--  <span style="color: #000000;">1</span> pydubreucq pydubreucq   <span style="color: #000000;">9155</span> <span style="color: #000000;">16</span> juin  <span style="color: #000000;">10</span>:<span style="color: #000000;">35</span> gnuplot.log
drwxr-xr-x  <span style="color: #000000;">2</span> pydubreucq pydubreucq   <span style="color: #000000;">4096</span> <span style="color: #000000;">16</span> juin  <span style="color: #000000;">10</span>:<span style="color: #000000;">27</span> gnuplot_scripts
-rw-r--r--  <span style="color: #000000;">1</span> pydubreucq pydubreucq   <span style="color: #000000;">5272</span> <span style="color: #000000;">16</span> juin  <span style="color: #000000;">10</span>:<span style="color: #000000;">35</span> graph.html
drwxr-xr-x  <span style="color: #000000;">2</span> pydubreucq pydubreucq   <span style="color: #000000;">4096</span> <span style="color: #000000;">16</span> juin  <span style="color: #000000;">10</span>:<span style="color: #000000;">32</span> images
-rw-r--r--  <span style="color: #000000;">1</span> pydubreucq pydubreucq   <span style="color: #000000;">6895</span> <span style="color: #000000;">16</span> juin  <span style="color: #000000;">10</span>:<span style="color: #000000;">35</span> report.html</pre></div></div><p>Il vous suffit ensuite d&#8217;ouvrir le fichier report.html dans un navigateur pour avoir ceux-ci :</p><p><a href="http://blog.admin-linux.org/wp-content/uploads/2011/06/Tsung_report_data.png"><img class="aligncenter size-medium wp-image-2606" title="Tsung report data" src="http://blog.admin-linux.org/wp-content/uploads/2011/06/Tsung_report_data-300x218.png" alt="Tsung report data 300x218 Réaliser des tests de performances de site web avec Tsung" width="300" height="218" /></a></p><p><a href="http://blog.admin-linux.org/wp-content/uploads/2011/06/Tsung_report_graph.png"><img class="aligncenter size-medium wp-image-2607" title="Tsung_report_graph" src="http://blog.admin-linux.org/wp-content/uploads/2011/06/Tsung_report_graph-153x300.png" alt="Tsung report graph 153x300 Réaliser des tests de performances de site web avec Tsung" width="153" height="300" /></a></p><p>Il est également possible de réaliser des graphes comparatifs via l&#8217;outils tsplot que je ne présenterai pas ici, mais qui est très intéressant.</p><p>Pour aller encore plus loin, il est possible de générer des bases de données RRDs :</p><p>Vous pouvez générer des rrds grâce au script réalisé par <a title="Rodolphe Quiédeville" href="http://rodolphe.quiedeville.org/" target="_blank">Rodolphe Quiédeville</a></p><p>Pour cela, il faut également installer les pré-requis :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libdbi0 librrd4 rrdtool librrds-perl</pre></div></div><p>Voici le script en question :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>tsung<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>tsung-rrd.pl</pre></div></div><p>Dire où trouver le fichier de log de tsung dans la variable ci-dessous :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$log_file</span> = <span style="color: #ff0000;">&quot;tsung.log&quot;</span>;</pre></div></div><p>Ou alors, vous modifiez un peu le script pour que la valeur de log_file soit un argument passé à la commande comme ci-dessous :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$log_file</span> = <span style="color: #ff0000;">&quot;<span style="color: #007800;">$ARGV</span>[0]&quot;</span>;</pre></div></div><p>De ce fait pour créer les rrd il faut lancer la commande comme ci-dessous :</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>tsung<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>tsung-rrd.pl <span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.tsung<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">20110615</span>-<span style="color: #000000;">23</span>\:<span style="color: #000000;">53</span><span style="color: #000000; font-weight: bold;">/</span>tsung.log</pre></div></div><p>Ceci génére plusieurs fichiers RRD que vous pouvez exploiter par la suite.</p><p>Libre à vous ensuite d&#8217;exploiter vos fichiers RRD ce n&#8217;est pas le but de cet article.</p><h3>Liens utiles :</h3><p><a title="Site Officiel de Tsung" href="http://tsung.erlang-projects.org/" target="_blank">Site Officiel de Tsung</a></p><p><a title="Documentation de Tsung" href="http://tsung.erlang-projects.org/user_manual.html" target="_blank">Documentation de Tsung</a></p><p><em><br /> </em></p><p><em>A noter que le logo utilisé pour illustrer cet article n&#8217;est pas le logo officiel, je l&#8217;avait fait il y a quelque temps et l&#8217;avait proposé à la communauté, mais ça n&#8217;avait jamais donné suite. J&#8217;en ai donc profité pour l&#8217;utilisé ici en l&#8217;agrémentant quelque peu&#8230;</em></p> ]]></content:encoded> <wfw:commentRss>http://blog.admin-linux.org/serveurs-web-dapplication/realiser-des-tests-de-performances-de-site-web-avec-tsung/feed</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Test de montée en charge (benchmark) avec des logiciels libres</title><link>http://blog.admin-linux.org/administration/test-de-montee-en-charge-benchmark-avec-des-logiciels-libres</link> <comments>http://blog.admin-linux.org/administration/test-de-montee-en-charge-benchmark-avec-des-logiciels-libres#comments</comments> <pubDate>Thu, 18 Feb 2010 12:42:43 +0000</pubDate> <dc:creator>Pierre-Yves Dubreucq</dc:creator> <category><![CDATA[Administration]]></category> <category><![CDATA[ab]]></category> <category><![CDATA[benchmark]]></category> <category><![CDATA[clif]]></category> <category><![CDATA[curl-loader]]></category> <category><![CDATA[funkload]]></category> <category><![CDATA[jmeter]]></category> <category><![CDATA[nagios]]></category> <category><![CDATA[opensta]]></category> <category><![CDATA[Planet-Libre]]></category> <category><![CDATA[seleniumhq]]></category> <category><![CDATA[siege]]></category> <category><![CDATA[testmaker]]></category> <category><![CDATA[tsung]]></category> <category><![CDATA[zabbix]]></category><guid isPermaLink="false">http://blog.admin-linux.org/?p=1795</guid> <description><![CDATA[Cette article va vous présenter différentes solutions libres pour réaliser des tests de montée en charge, dit benchmark. Cette idée m&#8217;est venu d&#8217;un commentaire que j&#8217;ai laissé sur le blog...]]></description> <content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1796" title="benchmark" src="http://blog.admin-linux.org/wp-content/uploads/2010/02/benchmark.jpg" alt="benchmark Test de montée en charge (benchmark) avec des logiciels libres" width="480" height="225" /></p><p>Cette article va vous présenter différentes solutions libres pour réaliser des <a title="tests de montée en charge, dit benchmark." href="http://blog.admin-linux.org/tag/benchmark" target="_blank">tests de montée en charge, dit benchmark.</a></p><p>Cette idée m&#8217;est venu d&#8217;un commentaire que j&#8217;ai laissé sur le blog de Nicolargo concernant un article sur <a title="curl-loader" href="http://blog.nicolargo.com/2010/02/simuler-des-connexions-httpftp-simultanees.html" target="_blank">curl-loader</a></p><p>Mon commentaire énumérait différentes applications libres permettant de réaliser ces benchmarks et le suivi de la montée en charge.</p><p>J&#8217;ai donc décidé d&#8217;en faire un billet complet, j&#8217;avais déjà fait des billets sur <a title="Siège" href="http://blog.admin-linux.org/serveurs-web-application/siege-outils-de-benchmark-web-nouvelle-version" target="_blank">Siège</a> et <a title="Tsung" href="http://blog.admin-linux.org/administration/tsung-outils-de-benchmark-multi-protocole" target="_blank">Tsung</a></p><h1><span style="color: #fd8d12;">Les Applications libres de benchmarking :</span></h1><h2>Siege :</h2><p>Donc pour rappel, <strong>Siege</strong> permet de faire des tests de montée en charge de vos appliactions web en simulant un grand nombre de connexions simultanées sur une ou plusieurs URLs données.<br /> Siege rapporte le nombre totale de hits enregistrés, de bytes transférés, le temps de réponse, les accès concurrents et retourne le statut du serveur.<br /> Siege supporte les protocoles HTTP/1.0 et 1.1, les méthodes GET &amp; POST, les cookies, les transaction log, et l’authentification basique.</p><p><a title="Site officiel de Siege" href="http://www.joedog.org/index/siege-home" target="_blank">Site officiel de Siege</a></p><h2>Tsung :</h2><p>Tsung est un outils de test de performances permettant de réaliser des benchmark massif. Il est Multi-protocoles utilisant un 	système de plugin (HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, SSL 	et XMPP/Jabber)</p><p>Et chose très importante, il permet de faire des scénarios. Les scénarios permette de simuler de la montée en charge mais non sur une seul url, mais via une succession d&#8217;action, par exemple, j&#8217;arrive sur la page d&#8217;accueil, je clique sur la catégorie &laquo;&nbsp;Administration&nbsp;&raquo;, je choisi l&#8217;article &laquo;&nbsp;Test de montée en charge avec des logiciels libres&nbsp;&raquo;. L’activité de l’utilisateur et le taux d’arrivée 	peut être aléatoire en utilisant une notion de probabilité&#8230;.</p><p>Ce qui est plus proche de la vie de ton application web qu&#8217;un nombre de requêtes simultanées sur une url.</p><p><a title="Site Officiel de Tsung" onclick="javascript:pageTracker._trackPageview('/outbound/article/tsung.erlang-projects.org');" href="http://tsung.erlang-projects.org/" target="_blank">Site Officiel de Tsung</a></p><h2>JMeter :</h2><p>Jmeter permet de simuler le comportement de plusieurs utilisateurs agissant de manière simultanée initialement sur une application Web.</p><p>Il est multi-protocole et peut désormais faire ses tests sur HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, POP3(S) and IMAP(S)</p><p>JMeter permet de faire des tests de performances, de robustesse, de charge et réalise des statistiques avec graphes à l&#8217;appui.</p><p><a title="JMeter sur Wikipedia" href="http://fr.wikipedia.org/wiki/JMeter" target="_blank">JMeter sur Wikipedia</a></p><p><a title="Très bonne ressource pour l'utilisation de JMeter" href="http://blog.milamberspace.net/index.php/jmeter-pages/jmeter-test-de-charges-dun-site-web-mode-demploi" target="_blank">Très bonne ressource pour l&#8217;utilisation de JMeter</a></p><p><a title="Site Officiel de JMeter" href="http://jakarta.apache.org/jmeter/" target="_blank">Site Officiel de JMeter</a></p><h2>AB &#8211; Apache Benchmark :</h2><p>Très simpliste, il permet de simuler x utilisateur sur une url donnée</p><h2>Curl-Loader :</h2><p>Permet de simuler x connections simultanées sur plusieurs urls en même temps.</p><p>Il supporte les protocole HTTP et FTP.</p><p><a title="Curl-Loader sur Nicolargo" href="http://blog.nicolargo.com/2010/02/simuler-des-connexions-httpftp-simultanees.html" target="_blank">Curl-Loader sur Nicolargo</a></p><p><a title="Site Officiel de Curl-Loader" href="http://curl-loader.sourceforge.net/" target="_blank">Site Officiel de Curl-Loader</a></p><h2>OpenSTA :</h2><p>OpenSTA permet de faire des tests de montée en charge sur les protocole HTTP et HTTPS</p><p>Il a de gros inconvénients, d&#8217;abord il n&#8217;est disponible que pour la plate-forme Windows et est vraiment difficile à prendre en main.</p><p><a title="Site Officiel de OpenSTA" href="http://opensta.org/" target="_blank">Site Officiel de OpenSTA</a></p><h2>CLIF Load Injection Framework :</h2><p>Clif permet de faire des tests de performances d&#8217;applications web distribuées</p><p>Plusieurs injecteurs réparties (permet de simuler d&#8217;énormes charges) vont simuler des connections simultanées en mesurant les temps de réponse, des erreurs&#8230;</p><p>Des sondes déployées sur les serveurs hébergeant les applications à tester vont mesurer l&#8217;activité RAM, CPU, Disque&#8230;</p><p>Clif gère les scénarios et fonctionne en multi-protocole (TCP, UDP, TCP, DNS, HTTP(S), JDBC, JMS, DHCP, LDAP, SIP)</p><p><a title="CLIF" href="http://http://clif.ow2.org/" target="_blank">Site Officiel de CLIF</a></p><p>Voici un schema expliquant le fonctionnement de CLIF :</p><p><a href="http://localhost/wordpress/wp-content/uploads/2010/02/CLIFframework.png"><img class="aligncenter size-medium wp-image-1799" title="CLIFframework" src="http://blog.admin-linux.org/wp-content/uploads/2010/02/CLIFframework-300x170.png" alt="CLIFframework 300x170 Test de montée en charge (benchmark) avec des logiciels libres" width="300" height="170" /></a></p><h2>Selenium :</h2><p>Selenium est une suite d&#8217;outils pour tester des applications Web.</p><p>Selenium dispose d&#8217;un Add-on pour Firefox qui va vous permettre de créer vos scénarios simplement en navigant sur l&#8217;application à tester, il y a un recorder qui enregistre votre navigation et il vous suffira de la rejouer x fois pour simuler une activité utilisateur réel.</p><p>C&#8217;est assez bluffant, on peut créer ses propres scénarios très facilement sans avoir à apprendre les commandes de l&#8217;application.</p><p>Selenium peut simuler via Selenium Remote Control (RC) différents navigateurs, plateformes et même language.</p><p>Selenium Grid  va permettre de mettre en place une architecture distribuées pour réaliser des tests en parallèle.</p><p>Voici un schéma expliquant son fonctionnement :</p><p><a href="http://localhost/wordpress/wp-content/uploads/2010/02/seleniumhq-how-it-works.png"><img class="aligncenter size-medium wp-image-1801" title="seleniumhq-how-it-works" src="http://blog.admin-linux.org/wp-content/uploads/2010/02/seleniumhq-how-it-works-221x300.png" alt="seleniumhq how it works 221x300 Test de montée en charge (benchmark) avec des logiciels libres" width="221" height="300" /></a></p><p><a title="Site Officiel de SeleniumHQ" href="http://seleniumhq.org/" target="_blank">Site Officiel de Selenium</a></p><h2>Funkload :</h2><p>Funkload permet également des faire des tests de performances</p><p>Il gère également les scénarios grace à <a title="TCPWatch" href="http://freshmeat.net/projects/tcpwatch/">TCPWatch</a></p><p>Funkload génére des rapports HTML/PDF avec graphes.</p><p><a title="Site Officiel de Funkload" href="http://funkload.nuxeo.org/" target="_blank">Site Officiel de Funkload</a></p><h2>TestMaker :</h2><p>TestMaker offrant une version opensource et une version entreprise, il permet également de faire des tests de montée en charge.</p><p>Je le donne pour information, mais je ne détaillerais pas ici ces fonctionnalités.</p><p><a title="Site Officiel de TestMaker" href="http://www.pushtotest.com/" target="_blank">Site Officiel de TestMaker</a></p><h2>Httperf :</h2><p>Httperf est également un outils pour mesurer les performances de vos applications HTTP(S)</p><p>Il peut être utilisé avec <a title="AutoBench" href="http://www.xenoclast.org/autobench/" target="_blank">AutoBench</a> et <a title="Openload" href="http://openwebload.sourceforge.net/" target="_blank">OpenLoad</a></p><p><a title="Site officiel de httperf" href="http://code.google.com/p/httperf/" target="_blank">Site officiel de httperf</a></p><p>Pour trouver une liste des solutions de tests opensource allez voir ce site :</p><p><a title="OpenSource Testing Tools" href="http://opensourcetesting.org/functional.php" target="_blank">OpenSource Testing Tools</a></p><h1><span style="color: #fd8d12;">La supervision de la charge des applications web :</span></h1><p>Il est intéressant également de pouvoir jauger sur le long terme les temps de réponses de ses applications web via l&#8217;utilisation de scénarios également.</p><p>Il existe bien sur des solutions sur les solutions de supervision libres.</p><h2>Cucumber-Nagios :</h2><p>Cucumber-Nagios est un plugin Nagios qui permet de réaliser des scénarios de façon assez surprenant d&#8217;ailleurs.</p><p>Ceux-ci seront ensuite joués comme n&#8217;importe quel check Nagios et permettrons de suivre par exemple le temps de réponse.</p><p>Nagios-FR en parle, je vous laisse découvrir la façon de <a title="générer les scénarios avec Cucumber-Nagios" href="http://www.nagios-fr.org/2009/11/cucumber-nagios/" target="_blank">générer les scénarios avec Cucumber-Nagios</a></p><p><a title="Site Officiel de Cucumber-Nagios" href="http://auxesis.github.com/cucumber-nagios/" target="_blank">Site Officiel de Cucumber-Nagios</a></p><h2>Zabbix :</h2><p>La solution de supervision libre Zabbix comprennant gestion d&#8217;incident et de performance intégre par défaut une application permettant de réaliser des scénarios afin de tester des applications web et ainsi garder un historique des performances</p><p>Cette approche est très intéressante car combiné aux informations provenant de la supervision de base (charge CPU, RAM&#8230;) on pourra facilement identifié les sources de ralentissements.</p><p><a title="Site Officiel de Zabbix" href="http://www.zabbix.com/" target="_blank">Site Officiel de Zabbix</a></p><p>Et vous vous utilisez quoi pour faire vos tests de montée en charge ?</p> ]]></content:encoded> <wfw:commentRss>http://blog.admin-linux.org/administration/test-de-montee-en-charge-benchmark-avec-des-logiciels-libres/feed</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>Tsung outils de benchmark multi-protocole</title><link>http://blog.admin-linux.org/administration/tsung-outils-de-benchmark-multi-protocole</link> <comments>http://blog.admin-linux.org/administration/tsung-outils-de-benchmark-multi-protocole#comments</comments> <pubDate>Thu, 01 Oct 2009 07:37:35 +0000</pubDate> <dc:creator>Pierre-Yves Dubreucq</dc:creator> <category><![CDATA[Administration]]></category> <category><![CDATA[apache]]></category> <category><![CDATA[benchmark]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[openldap]]></category> <category><![CDATA[Planet-Libre]]></category> <category><![CDATA[postgresql]]></category> <category><![CDATA[tsung]]></category><guid isPermaLink="false">http://blog.admin-linux.org/?p=1374</guid> <description><![CDATA[Tsung est un outils de test de performances permettant de réaliser des benchmark massif. Initialement créé par IDEALX sous le nom IDX-Tsunami par Nicolas Niclausse en 2000 pour stresser les...]]></description> <content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1377" title="tsung" src="http://blog.admin-linux.org/wp-content/uploads/2009/10/tsung.png" alt="tsung Tsung outils de benchmark multi protocole" width="480" height="225" /></p><p>Tsung est un outils de test de performances permettant de réaliser des benchmark massif.</p><p>Initialement créé par <a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.opentrust.com');" href="http://www.opentrust.com/" target="_blank">IDEALX</a> sous le nom IDX-Tsunami par <a onclick="javascript:pageTracker._trackPageview('/outbound/article/niclux.org');" href="http://niclux.org/" target="_blank">Nicolas Niclausse</a> en 2000 pour stresser les serveur Jabber, ce projet à ensuite changé de nom en 2005 pour s’appeler Tsung (Pour Tsunami Next Generation).</p><p>Voici la liste de ses fonctionnalités principales :</p><ul><li><p style="margin-bottom: 0cm;">La charge peut être distribué 	sur un cluster permettant à chaque noeud de générer sa propre 	charge</p></li><li><p style="margin-bottom: 0cm;">Multi-protocoles utilisant un 	système de plugin (HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, SSL 	et XMPP/Jabber)</p></li><li><p style="margin-bottom: 0cm;">De nombreuses adresses IP peuvent 	être utilisée en faisant de l’IP aliasing (eth0, eth0:1, 	eth0:2…)</p></li><li><p style="margin-bottom: 0cm;">Support du snmp pour la 	supervision.</p></li><li><p style="margin-bottom: 0cm;">Système de configuration via XML. 	De nombreuses sessions peuvent être utilisées pour simuler 	différents types d’utilisateur.</p></li><li><p style="margin-bottom: 0cm;">Afin de générer un trafic 	réaliste, l’activité de l’utilisateur et le taux d’arrivée 	peut être aléatoire en utilisant une notion de probabilité.</p></li><li>Des rapports HTML peuvent être générés en temps réel 	pour voir les temps de réponse, la charge CPU…</li></ul><p>Je n’ai pas encore eu l’occasion de tester, mais ça m’a l’air assez impressionnant !!!</p><p>A noter qu’une nouvelle version vient de sortir le 28 septembre qui est la 1.3.1.</p><p>Cette version apporte le support de Pubsub (Publish-Subscribe) et MUC (Multi-User Chat) et améliore les performances (million d’utilisateurs). Ajout du support d’ajout Munin pour la supervision. Cette version apporte de nombreuses améliorations et corrections de bugs.</p><p>Pour avoir la liste complète vous pouvez consulter le <a onclick="javascript:pageTracker._trackPageview('/outbound/article/svn.process-one.net');" href="https://svn.process-one.net/tsung/trunk/CHANGES" target="_blank">changelog</a></p><p>J’essaieraie d’en faire un test prochainement et j’en ferait donc bien sur un retour plus complet et j&#8217;espère didactique ici<span> <img src='http://blog.admin-linux.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Tsung outils de benchmark multi protocole" class='wp-smiley' title="Tsung outils de benchmark multi protocole" /> </span></p><p><span>Liens utiles :</span></p><p><span><a title="Site Officiel de Tsung" href="http://tsung.erlang-projects.org/" target="_blank">Site Officiel de Tsung</a></span></p><p><span><a title="Quelques screenshots" href="http://tsung.erlang-projects.org/screenshots.en.html" target="_blank">Quelques screenshots</a><br /> </span></p> ]]></content:encoded> <wfw:commentRss>http://blog.admin-linux.org/administration/tsung-outils-de-benchmark-multi-protocole/feed</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Siege &#8211; outils de benchmark web &#8211; Nouvelle version</title><link>http://blog.admin-linux.org/serveurs-web-dapplication/siege-outils-de-benchmark-web-nouvelle-version</link> <comments>http://blog.admin-linux.org/serveurs-web-dapplication/siege-outils-de-benchmark-web-nouvelle-version#comments</comments> <pubDate>Wed, 13 May 2009 11:03:00 +0000</pubDate> <dc:creator>Pierre-Yves Dubreucq</dc:creator> <category><![CDATA[Serveurs Web & d'Application]]></category> <category><![CDATA[apache]]></category> <category><![CDATA[benchmark]]></category> <category><![CDATA[Planet-Libre]]></category><guid isPermaLink="false">http://blog.admin-linux.org/non-classe/siege-outils-de-benchmark-web-nouvelle-version</guid> <description><![CDATA[Joe Dog Software vient de sortir une nouvelle version de Siege. Pour rappel, Siege est un outil permettant de faire du benchmark de votre site web en simulant un grand...]]></description> <content:encoded><![CDATA[<p style="text-align: justify;"><img id="BLOGGER_PHOTO_ID_5335271462399265234" class="alignright" style="border: 0pt none; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 200px;" src="http://blog.admin-linux.org/wp-content/uploads/HLIC/3.bp.blogspot.com/_XySgBVSDH1I/SgqxIKiWSdI/AAAAAAAAAPI/pLO_QWejNa4/s200/document_graph.gif" border="0" alt="document graph Siege   outils de benchmark web   Nouvelle version" width="200" height="200" title="Siege   outils de benchmark web   Nouvelle version" />Joe Dog Software vient de sortir une nouvelle version de Siege.<br /> Pour rappel, Siege est un outil permettant de faire du benchmark de votre site web en simulant un grand nombre de connexions simultanées par exemple sur une ou plusieurs URLs données permettant ainsi de tester la montée en charge de ses applications web ou même de son serveur.<br /> Le programme rapporte le nombre totale de hits enregistrés, de bytes transféré, le temps de réponse, les accès concurrents et retourne le statut du serveur.<br /> Siege supporte les protocoles HTTP/1.0 et 1.1, les méthodes GET &amp; POST, les cookies, les transaction log, et l&#8217;authentification basique. Ces fonctionnalités sont pleinement configurables par l&#8217;utilisateur.<br /> La nouvelle version de Siege est la 2.69.<br /> C&#8217;est nouvelle version apporte une amélioration de la gestion de la mémoire et de la notification d&#8217;erreur.<br /> A noter que la dernière version, la 2.68, sortie le 28 Avril 2009, implémente la RFC 2617 concernant l&#8217;authentification DIGEST. Elle inclue également de nombreuses corrections de bug et de légère amélioration de fonctionnalités.</p><p style="text-align: justify;">A noter que la fondation Apache propose son propre outils de Benchmark nommé <a href="http://httpd.apache.org/docs/2.0/programs/ab.html" target="_blank">ab</a><br /> Il y a aussi <a href="http://www.opensta.org/" target="_blank">OpenSTA</a>, avec environnement graphique, très complet, mais ne fonctionne que sous Windows.</p><p style="text-align: justify;">Liens Utiles :<br /> <a href="http://www.joedog.org/index/siege-home" target="_blank">Site Officiel</a><br /> <a href="http://freshmeat.net/projects/siege/releases/299319" target="_blank">Changelog</a><br /> <a href="http://www.tux-planet.fr/benchmark-sur-un-serveur-apache/" target="_blank">Article de Tux-Planet expliquant l&#8217;installation et l&#8217;utilisation</a></p> ]]></content:encoded> <wfw:commentRss>http://blog.admin-linux.org/serveurs-web-dapplication/siege-outils-de-benchmark-web-nouvelle-version/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 1/12 queries in 0.004 seconds using apc
Object Caching 1364/1380 objects using apc

Served from: blog.admin-linux.org @ 2012-02-07 15:55:32 -->
