<?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>dasini.net - Journal d'un expert MySQL &#187; bench</title>
	<atom:link href="http://dasini.net/blog/tag/bench/feed/" rel="self" type="application/rss+xml" />
	<link>http://dasini.net/blog</link>
	<description>Repousser les frontières de la connaissance</description>
	<lastBuildDate>Thu, 02 Feb 2012 09:06:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Bench MariaDB  vs MySQL</title>
		<link>http://dasini.net/blog/2010/12/30/bench-mariadb-vs-mysql/</link>
		<comments>http://dasini.net/blog/2010/12/30/bench-mariadb-vs-mysql/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 20:06:57 +0000</pubDate>
		<dc:creator>freshdaz</dc:creator>
				<category><![CDATA[bench]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL 5]]></category>
		<category><![CDATA[MySQL 5.1]]></category>

		<guid isPermaLink="false">http://dasini.net/blog/?p=1032</guid>
		<description><![CDATA[MariaDB 5.2.4 et MySQL 5.5.8 ont de façon particulièrement significative, de meilleures performances en écritures que MySQL 5.1.53 (avantage à MariaDB 5.2.4).

En ce qui concerne, les lectures, les performances de MariaDB 5.2.4 et de MySQL 5.1.53 sont très proches (léger avantage à MySQL 5.1.53). MySQL 5.5.8 est un peu en retrait.

En fonction des résultats des benchs, mon classement est le suivant :

MariaDB 5.2.4
MySQL 5.5.8
MySQL 5.1.53]]></description>
			<content:encoded><![CDATA[<p>Avec les sorties de <a title="MySQL 5.5 est disponible" href="http://dasini.net/blog/2010/12/15/mysql-5-5-est-disponible/" target="_blank">MySQL 5.5.8</a> et de<a title="MariaDB 5.2.4 est disponible" href="http://dasini.net/blog/2010/12/09/mariadb-5-2-4-et-5-1-53-sont-disponibles/" target="_blank"> MariaDB 5.2.4</a>, l&#8217;écosystème SGBDR open source se retrouve donc avec 3 bases (n&#8217;oublions pas MySQL 5.1.53) en GA. J&#8217;ai eu envi de voir le résultat des améliorations apportées par les équipes  d<a title="MySQL" href="http://www.mysql.com/" target="_blank">&#8216;Oracle</a> sur la première version majeure post rachat (MySQL 5.5.8) et celles apportées par la communauté et les équipes de <a title="Monty program" href="http://askmonty.org/">Monty program</a> pour la version basée sur MySQL 5.1.53  (MariaDB 5.2.4).</p>
<p>De nombreuses optimisations ont eu lieu sur la version MySQL 5.5.8, ainsi que sur le moteur de stockage InnoDB. Idem pour MariaDB et la version InnoDB  de <a title="Percona" href="http://www.percona.com/" target="_blank">Percona</a> qu&#8217;elle embarque (XtraDB).</p>
<p>Un des gros inconvénients des benchs, c&#8217;est qu&#8217;ils ne veulent souvent rien dire dans l&#8217;absolu. En d&#8217;autres termes, le résultat obtenu valide les hypothèses retenues qui ont rarement la chance de s&#8217;appliquer totalement à votre cas d&#8217;utilisation. Mais faut bien essayer de quantifier les choses ! Dans l&#8217;optique d&#8217;avoir un résultat le plus objectif possible, j&#8217;ai effectué mes tests avec 3 outils de bench open source pour bases de données différents:</p>
<ul>
<li><a title="DBT2" href="http://osdldbt.sourceforge.net/#dbt2" target="_blank">DBT2</a></li>
<li><a title="sysbench" href="http://sourceforge.net/projects/sysbench/" target="_blank">sysbench</a></li>
<li><a title="mysqlslap" href="http://dev.mysql.com/doc/refman/5.5/en/mysqlslap.html" target="_blank">mysqlslap</a></li>
</ul>
<p>Les tests comportent des lectures, des écritures et des transactions plus complexes et ils se déroulent seulement sur des table InnoDB.</p>
<p>La configuration des serveurs est très proche mais pas strictement identique car les paramètres ne sont pas tous les mêmes. Elle n&#8217;est pas orientée performances maximale, (ce n&#8217;était pas mon but) mais sécurité des données (plus proche de notre réalité de production).</p>
<p>La machine de test n&#8217;est qu&#8217;un PC (voir configuration ci dessous)</p>
<h1>MySQL 5.1.53 vs MySQL 5.5.8 vs MariaDB 5.2.4</h1>
<h2>Configuration</h2>
<pre># OS: Ubuntu  10.04 LTS</pre>
<pre># Platform: x86_32</pre>
<pre># CPU: Intel Core 2 Duo CPU T9550 @ 2.66GHz (x2)</pre>
<pre># RAM: 3.4GB</pre>
<pre># Disk(s): 1 x ATA Hitachi HTS723216L9A362</pre>
<pre># # Versions : MySQL 5.1.53, MySQL 5.5.8, MariaDB 5.2.4</pre>
<pre># # Moteur : Innodb</pre>
<h2>Résultats</h2>
<p><em><span style="text-decoration: underline;"><strong><span style="color: #000080;">dbt2</span></strong></span></em></p>
<h3>Transactions (plusieurs tables)</h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>19% plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>53% plus rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>49% plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>59% plus rapide</strong> que MySQL 5.1.53</p>
<p><em><span style="text-decoration: underline;"><strong><span style="color: #000080;">sysbench</span></strong></span></em></p>
<h3>Transactions (1 table)</h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>19</strong><strong>69% plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>2</strong><strong>2</strong><strong>71% plus rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.5.8 est 2<strong>87% plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est 4<strong>27% plus rapide</strong> que MySQL 5.1.53</p>
<h3>Lectures simples</h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>14% moins rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>3% moins rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>15% moins rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>2% moins rapide</strong> que MySQL 5.1.53</p>
<h3><span style="font-family: 'Liberation Sans', sans-serif;">Lectures</span> <span style="font-family: 'Liberation Sans', sans-serif;">complexes</span></h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>12% moins rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>0.7% moins rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>14% moins rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>5% moins rapide</strong> que MySQL 5.1.53</p>
<p><em><span style="text-decoration: underline;"><strong><span style="color: #000080;">mysqlslap</span></strong></span></em></p>
<h3>Update primary key</h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>1793%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>1</strong><strong>954%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.1.53 =&gt; ERROR : Lock wait timeout exceeded; try restarting transaction</p>
<p>MariaDB 5.2.4 est <strong>26%</strong><strong> fois plus rapide</strong> que MySQL 5.5.8</p>
<h3><span style="font-family: 'Liberation Sans', sans-serif;">Insert</span></h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>1595%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>1</strong><strong>731%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>4</strong><strong>106%</strong><strong> fois plus rapid</strong>e que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>4</strong><strong>625%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<h3><span style="font-family: 'Liberation Sans', sans-serif;">Insert </span><span style="font-family: 'Liberation Sans', sans-serif;">+ Select</span></h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.5.8 est <strong>1</strong><strong>452%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<p>MariaDB 5.2.4 est <strong>1</strong><strong>714%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.5.8 et MariaDB 5.2.4 sont <strong>2</strong><strong>400%</strong><strong> fois plus rapide</strong> que MySQL 5.1.53</p>
<h3><span style="font-family: 'Liberation Sans', sans-serif;">Select</span></h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.1.53 est <strong>8% plus rapide</strong> que MariaDB 5.2.4.</p>
<p>MySQL 5.1.53 est <strong>9% plus rapide</strong> que MySQL 5.5.8.</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.1.53 et MariaDB 5.2.4 sont <strong>15% plus rapide</strong> que MySQL 5.5.8.</p>
<h3><span style="font-family: 'Liberation Sans', sans-serif;">Select</span><span style="font-family: 'Liberation Sans', sans-serif;"> </span><span style="font-family: 'Liberation Sans', sans-serif;">on </span><span style="font-family: 'Liberation Sans', sans-serif;">primary key</span></h3>
<p><span style="text-decoration: underline;">40 connexions simultanées</span></p>
<p>MySQL 5.1.53 est <strong>4% </strong><strong>plus rapide</strong> que MariaDB 5.2.4.</p>
<p>MySQL 5.1.53 est <strong>10%</strong><strong> plus rapide</strong> que MySQL 5.5.8.</p>
<p><span style="text-decoration: underline;">150 connexions simultanées</span></p>
<p>MySQL 5.1.53 et MariaDB 5.2.4 sont <strong>7%</strong><strong> plus rapide</strong> que MySQL 5.5.8.</p>
<p><span style="font-size: x-small;"><br />
</span></p>
<h2><span style="font-family: 'Liberation Sans', sans-serif;">Résumé</span></h2>
<p>MariaDB 5.2.4 et MySQL 5.5.8 ont de façon particulièrement significative, de meilleures performances en écritures que MySQL 5.1.53 (avantage à MariaDB 5.2.4).</p>
<p>En ce qui concerne, les lectures, les performances de MariaDB 5.2.4 et de MySQL 5.1.53 sont très proches (léger avantage à MySQL 5.1.53). MySQL 5.5.8 est un peu en retrait.</p>
<p>En fonction des résultats des benchs, mon classement est le suivant :</p>
<ol>
<li>MariaDB 5.2.4</li>
<li>MySQL 5.5.8</li>
<li>MySQL 5.1.53</li>
</ol>
<p>Je dois avouer, que je suis surpris par l&#8217;ampleur des écarts, notamment en écritures ! D&#8217;autres tests seront fait sur une machine plus costaud et dans un environnement plus proche de notre production.</p>
<h2>Fichiers</h2>
<p><a title="configuration MySQL 5.1.53" href="http://dasini.net/blog/wp-includes/pdf/MySQL_vs_MariaDB-conf_MySQL_5.1.53.pdf">Configuration de MySQL 5.1.53</a></p>
<p><a title="Configuration de MySQL 5.5.8" href="http://dasini.net/blog/wp-includes/pdf/MySQL_vs_MariaDB-conf_MySQL_5.5.8.pdf">Configuration de MySQL 5.5.8</a></p>
<p><a title="Configuration MariaDB 5.2.4" href="http://dasini.net/blog/wp-includes/pdf/MySQL_vs_MariaDB-conf_MariaDB_5.2.4.pdf">Configuration de MariaDB 5.2.4</a></p>
<p><a title="Chiffres bruts" href="http://dasini.net/blog/wp-includes/pdf/MySQL_vs_MariaDB-chiffres_bruts.pdf">Résultats brut</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dasini.net/blog/2010/12/30/bench-mariadb-vs-mysql/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Les nouveautés de MySQL 5.1 &#8212; (part 5/5)</title>
		<link>http://dasini.net/blog/2009/01/04/les-nouveautes-de-mysql-51-part-55/</link>
		<comments>http://dasini.net/blog/2009/01/04/les-nouveautes-de-mysql-51-part-55/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 23:04:44 +0000</pubDate>
		<dc:creator>freshdaz</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[bench]]></category>
		<category><![CDATA[MySQL 5.1]]></category>
		<category><![CDATA[mysqlslap]]></category>

		<guid isPermaLink="false">http://dasini.net/blog/?p=362</guid>
		<description><![CDATA[mysqlslap : un utilitaire de test de charge et de performance

Disponible depuis MySQL 5.1.4, mysqlslap permet d'effectuer des tests de stress et de charge sur votre serveur MySQL. Vous pourrez alors tester les performances de votre SGBDR préféré, après, par exemple, une nouvelle installation, un changement d'architecture ou après avoir modifié des paramètres de configuration.]]></description>
			<content:encoded><![CDATA[<p><!-- 	 	 --><br />
<em>(<a title="Les nouveautés de MySQL 5.1 -- (part 4/5)" href="http://dasini.net/blog/2008/12/13/les-nouveautes-de-mysql-51-part-45/">&lt;- précédent</a>)</em><br />
<!-- 	 	 --></p>
<h2>mysqlslap : un utilitaire de test de charge et de performance</h2>
<p>Disponible depuis MySQL 5.1.4, <em>mysqlslap</em> permet d&#8217;effectuer des tests de stress et de charge sur votre serveur MySQL. Vous pourrez alors tester les performances de votre SGBDR préféré, après, par exemple, une nouvelle installation, un changement d&#8217;architecture ou après avoir modifié des paramètres de configuration.</p>
<p>Créé pour devenir le meilleur ami des administrateurs de bases de données et des développeurs, le client <em>mysqlslap</em> envoie des requêtes au serveur MySQL en créant plusieurs connexions simultanées. A la fin de la simulation, un rapport de diagnostic est crée sur la sortie standard. Vous avez aussi la possibilité de l&#8217;écrire dans un fichier au format CSV utilisable directement avec Calc d&#8217;OpenOffice ou Excel de Microsoft.</p>
<p>Exemple d&#8217;utilisation de <em>mysqlslap</em> avec les options suivantes :</p>
<ul>
<li><strong>user</strong>, <strong>password</strong>, <strong>socket </strong>: autentification classique d&#8217;un client MySQL,</li>
<li><strong>concurrency </strong>: nombre de 	clients effectuant simultanément une requête SELECT,</li>
<li><strong>iterations </strong>: nombre 	d&#8217;itérations du test à faire,</li>
<li><strong>number-of-queries</strong> : 	nombre total de requêtes effectuées lors du test,</li>
<li><strong>engine </strong>: moteur(s) à 	utiliser,</li>
<li><strong>auto-generate-sql</strong> : 	<em>mysqlslap</em> génère automatiquement un jeu de tests,</li>
<li><strong>number-int-cols</strong> : nombre 	de colonnes de type INT à créer,</li>
<li><strong>number-char-cols</strong> : 	nombre de colonnes de type CHAR à créer,</li>
<li><strong>auto-generate-sql-load-type</strong> : permet de spécifier le type de requêtes (lecture, insertion, 	lecture sur la clé primaire, mise à jour ou mixte)</li>
</ul>
<p><!-- 	 	 --></p>
<p>Tests de performances avec des tables MyISAM et innoDB:</p>
<pre>shell&gt; mysqlslap --user=daz --password --socket=/tmp/mysql51.sock
--concurrency=1,100   --iterations=10  --number-of-queries=1000
--engine=myisam,innodb   --auto-generate-sql  --number-int-cols=2
--number-char-cols=3   --auto-generate-sql-load-type=mixed

<!-- 	 	 -->
Benchmark
   Running for engine myisam
   Average number of seconds to run all queries: 1.576 seconds
   Minimum number of seconds to run all queries: 1.539 seconds
   Maximum number of seconds to run all queries: 1.631 seconds
   Number of clients running queries: 1
   Average number of queries per client: 1000
Benchmark
   Running for engine myisam
   Average number of seconds to run all queries: 1.792 seconds
   Minimum number of seconds to run all queries: 1.543 seconds
   Maximum number of seconds to run all queries: 2.107 seconds
   Number of clients running queries: 100
   Average number of queries per client: 10
Benchmark
   Running for engine innodb
   Average number of seconds to run all queries: 2.477 seconds
   Minimum number of seconds to run all queries: 2.430 seconds
   Maximum number of seconds to run all queries: 2.663 seconds
   Number of clients running queries: 1
   Average number of queries per client: 1000
Benchmark
   Running for engine innodb
   Average number of seconds to run all queries: 2.704 seconds
   Minimum number of seconds to run all queries: 0.725 seconds
   Maximum number of seconds to run all queries: 5.272 seconds
   Number of clients running queries: 100
   Average number of queries per client: 10</pre>
<p><em></em><br />
<!-- 	 	 --></p>
<p><!-- 	 	 --></p>
<h2>Conclusion</h2>
<p>Toujours aussi performant, fiable et robuste, certes un peu moins simple à administrer mais tellement plus riche, cette nouvelle version de MySQL devrait faire le bonheur des administrateurs de bases de données et des développeurs. Nous espérons que cet article vous a mis l&#8217;eau à la bouche et vous donnons d&#8217;ors et déjà rendez-vous au prochain numéro pour explorer plus en détail le partitionnement de MySQL.</p>
<p><!-- 	 	 --></p>
<p><em><a title="Les nouveautés de MySQL 5.1 -- (part 1/5)" href="http://dasini.net/blog/2008/11/28/les-nouveautes-de-mysql-51-part-15/">Les nouveautés de MySQL 5.1 &#8212; (part 1/5)</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://dasini.net/blog/2009/01/04/les-nouveautes-de-mysql-51-part-55/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

