<?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>Communauté Magento francophone &#187; test</title>
	<atom:link href="http://www.wikigento.com/tag/test/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wikigento.com</link>
	<description>Optimisation de sites E-commerce, hébergment Magento</description>
	<lastBuildDate>Mon, 30 Jan 2012 16:33:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Avant de poster les optimisations, parlons mesures !</title>
		<link>http://www.wikigento.com/test-bench/avant-de-poster-les-optimisations-parlons-mesures/</link>
		<comments>http://www.wikigento.com/test-bench/avant-de-poster-les-optimisations-parlons-mesures/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:10:28 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Optimisation Système & Réseau]]></category>
		<category><![CDATA[Test / Bench]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sessions magento]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=579</guid>
		<description><![CDATA[Avant toute chose, le Wiki a été mis à jour sur la partie dimensionnement des infrastructures Web. Ca se passe ici, si vous voyez des erreurs, n&#8217;hésitez pas à corriger. Alors, où en est-on sur le front des performances ? Eh bien si vous avez mis en place les optimisations qui sont recommandées, celles que [...]]]></description>
			<content:encoded><![CDATA[<p>Avant toute chose, le Wiki a été mis à jour sur la partie dimensionnement des infrastructures Web. Ca <a title="Dimensionnement de l'infrastructure Web" href="http://www.wikigento.com/wiki/index.php/Dimensionnement_de_l%27infrastructure_Web" target="_blank">se passe ici</a>, si vous voyez des erreurs, n&#8217;hésitez pas à corriger.</p>
<p>Alors, où en est-on sur le front des performances ?</p>
<p>Eh bien si vous avez mis en place les optimisations qui sont recommandées, celles que l&#8217;ont vous a expliqué chez Fragento ou ici, celles que l&#8217;on va vous exposer dans les prochains posts, bref si vous faites les choses correctement, vous pouvez atteindre de 200 à 800 sessions &laquo;&nbsp;Magento connectées&nbsp;&raquo; par core (coeur) de vos processeurs récents.</p>
<p>Mais avant de parler des optimisations en elles mêmes, il faut avoir des moyens de comparer, des unités et des repères communs. Je vous propose d&#8217;adopter des <em>&laquo;&nbsp;S.M.C</em>&nbsp;&raquo; comme unité.</p>
<h2>S.M.C ?</h2>
<p>En premier lieu &laquo;&nbsp;<strong>S</strong>essions <strong>M</strong>agento <strong>C</strong>onnectées&nbsp;&raquo;, qu&#8217;est-ce que cela peut bien représenter&#8230; ?</p>
<p>Déjà, on va réduire le nom à <strong>SMC</strong> pour éviter de trimbaler 5 lignes. On peut prendre de nombreux points de repères différents pour estimer la charge : les sessions apache, les Visiteurs Uniques (V.U) journaliers, horaires, le nombre de page vues, etc&#8230; Alors pourquoi choisir les SMC ?</p>
<p>Les SMC cela reste un indicateur pertinent car c&#8217;est Magento qui mesure cette valeur. Elle peut donc être utilisées dans d&#8217;autres contexte, pour faire d&#8217;autres calculs mais surtout elle est mesurée partout de la même façon, ce qui est important pour avoir des repères. Comme c&#8217;est Magento qui la mesure, on travail tous sur la même valeur.</p>
<p><span style="text-decoration: underline;">Comment les récupérer ? Avec une requête SQL en base de données tout simplement : </span><br />
<span style="color: #0000ff;">select count(*) from log_visitor where ADDTIME(utc_timestamp(), -1500) &lt;  last_visit_at;</span></p>
<p>Cela nous donne les sessions ayant eu une activité lors des 15 dernières minutes. C&#8217;est très proche de ce que l&#8217;on a dans le backoffice. Une dataquery et un script bash plus tard,</p>
<p><span style="text-decoration: underline;">On en fait un beau graphique </span><span style="text-decoration: underline;">pour les clients </span><span style="text-decoration: underline;">dans Cacti ou avec RRD, MRTG etc&#8230; :</span><br />
<a rel="attachment wp-att-581" href="http://www.wikigento.com/?attachment_id=581"><img class="aligncenter size-full wp-image-581" title="Graph SMC" src="http://www.wikigento.com/wp-content/uploads/2009/03/ss-20090317114824.jpg" alt="Graph SMC" width="580" height="208" /></a><br />
L<span style="font-size: medium;"><span style="font-family: times new roman,times;">à, par exemple, on voit un mailing. Monté en charge progressive du nombre de SMC pour atteindre les 1200 vers 18H00. Ca se corrèle bien avec le graphique d&#8217;utilisation des cores :</span></span></p>
<p><span style="font-size: medium;"><span style="font-family: times new roman,times;"><a rel="attachment wp-att-582" href="http://www.wikigento.com/?attachment_id=582"><img class="size-full wp-image-582 aligncenter" title="Graph Core" src="http://www.wikigento.com/wp-content/uploads/2009/03/ss-20090317114859.jpg" alt="Graph Core" width="594" height="221" /></a></span></span></p>
<p><span style="font-size: medium;"><span style="font-family: times new roman,times;">On 4 cores utilisés pour 1200, donc 300 utilisateurs par core, en l&#8217;occurence ce sont des AMD Shanghai 2374 à 2,3 Ghz. Comme ce sont des quad cores, on utilise un processeur complet. Évidemment on ne peut pas se permettre d&#8217;avoir tous les cores à 100% donc les autres processus Linux tournent sur un autre core dédié d&#8217;un autre processeur. Coté base de données, ca glandouille gentillement :</span></span></p>
<pre><a rel="attachment wp-att-583" href="http://www.wikigento.com/?attachment_id=583"><img class="size-full wp-image-583 aligncenter" title="Graph core DB" src="http://www.wikigento.com/wp-content/uploads/2009/03/ss-20090317115009.jpg" alt="Graph core DB" width="590" height="215" /></a></pre>
<pre><span style="font-size: medium;"><span style="font-family: times new roman,times;">Il faut lire 0,2 core (200 milli). Ceci étant ce site spécifique sollicite peu la base de données donc ce n'est pas représentatif non plus.</span></span></pre>
<h2>Tester les performances, tests de charge &amp; Benchmark !</h2>
<p>De nombreux outils existent, qui mesurent différentes choses. En test de charge purs, on a par exemple Load runner, Apache bench, Opensta etc&#8230; Coupler tout cela à des analyseurs de code ou de requêtes SQL (comme la console Mysql enterprise par exemple) permet d&#8217;optimiser le code mais ce n&#8217;est pas le sujet de ce post et Gilles nous fera peut être un petit article là dessus.</p>
<p>Non, ce qui nous intéresse ici, c&#8217;est d&#8217;évaluer le nombre de SMC que l&#8217;on peut servir dans de bonnes conditions avec la plateforme que l&#8217;on aura préparé. Pour cela, load runner et Opensta sont de bons outils. Apache bench n&#8217;est pas très adapté sincèrement car son test est toujours le même, donc avec la chaine de cache, à la fin de ces 2000 itérations, il vous sort joyeusement 250 000 connectés <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Opensta permet de définir des scénarii de tests et d&#8217;en jouer plusieurs, de front, à suivre, plusieurs fois les mêmes etc&#8230; Le soft tourne sous Windows, il est gratuit et opensource. On peut <a href="http://prdownloads.sourceforge.net/opensta/ostaw32-x86-1404.msi?download" target="_blank">le trouver ici</a> et même s&#8217;il n&#8217;est plus entretenu, il fonctionne bien et fait le boulot demandé.</p>
<p>Le but ici n&#8217;est pas de faire un manuel ou un howto d&#8217;opensta mais globalement d&#8217;expliquer ce qui représente de bonnes circonstance de tests, tout au moins réaliste. Ce que je fais, en général, c&#8217;est que je demande à mes clients, c&#8217;est de réaliser entre vingt et trente scénarii classique de surf. On enregistre un très simple de la personne qui vient sur la home et se déconnecte, un autre ou il fait une recherche un autre ou il clique de produit en produit, etc&#8230; Le plus le mieux mais également, le plus logique le mieux !</p>
<p>Le scénario de connexion à la home puis déconnexion, on va le jouer 25% du temps, puis celui du parcours de produit 1, le 2 et aussi les recherches. On mixe le tout savamment et on demande à plusieurs scénarii de se jouer sur le site. Trois qui surf, des connexions déconnexions sur la home, deux recherches en même temps etc&#8230; A la fin, on regarde les performances affichées par l&#8217;interface d&#8217;Opensta et celles collectées dans Cacti. On corrèle les graphs, on analyse et on arrive à estimer la charge que peux tenir un système ! En laissant tourner les scénarii un moment, le graph sera réaliste et on saura dire combien de S.M.C peut faire tenir un core standard.</p>
<p>La suite est un jeu d&#8217;enfant, on prend le nombre de V.U prévu en pic, on déduit le nombre de S.M.C que l&#8217;on doit pouvoir encaisser et on divise par la performance unitaire d&#8217;un Core. On sait alors combien de core on doit mettre en place et donc combien de processeurs !</p>
<p>Bon si une bonne âme veut bien écrire un tuto/howto sur Opensta, je passe mon tour pour le moment et je vous laisse juste en compagnie de deux shoots d&#8217;écran, le modeler et le commander :</p>
<p><a rel="attachment wp-att-592" href="http://www.wikigento.com/?attachment_id=592"><img class="alignnone size-medium wp-image-592" title="opensta-commander" src="http://www.wikigento.com/wp-content/uploads/2009/03/opensta-commander-500x223.jpg" alt="opensta-commander" width="500" height="223" /></a></p>
<p>On définit son scénario dans le modeler ci-dessous, on planifie dans le commander ci-dessus, et on a un autre module qui collecte et affiche les statistiques.</p>
<p><a rel="attachment wp-att-593" href="http://www.wikigento.com/?attachment_id=593"><img class="alignnone size-medium wp-image-593" title="opensta-modeler" src="http://www.wikigento.com/wp-content/uploads/2009/03/opensta-modeler-500x339.jpg" alt="opensta-modeler" width="500" height="339" /></a></p>
<p>Et voila !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/test-bench/avant-de-poster-les-optimisations-parlons-mesures/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

