EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil arrow Programmation arrow ASP/.Net/PHP arrow Verrouillage, concurrentialité et performance de MySQL
Dimanche 7 sept 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ?  Inscription
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
Apr 12 2006
Verrouillage, concurrentialité et performance de MySQL Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 1
FaibleMeilleur 
Programmation - Base de données
Ecrit par Kamal AOUDA   
12-04-2006
Verrouillage, concurrentialité et performance de MySQL

Les mécanismes de verrouillage de MySQL différent selon le type de table utilisé.

Dans les tables de type MyISAM et HEAP, seul le verrouillage de niveau table est supporté. Cela pourrait être pénalisant pour les traitements parallèles et la concurrentialité des applications qui font majoritairement appel à des opérations d’écriture. Or cela n’est pas le cas de la plupart des applications de commerce électronique qui comme nous l’avons vu dans la partie 3 font de nombreuses sélections, peu d'effacements, des modifications et des insertions basées sur des clés. Les tables MyISAM sont donc bien optimisées pour ce genre d’application.

Les tables de type InnoDB supportent le verrouillage de niveau ligne. Elles offrent un meilleur degré de concurrentialité mais elles consomment plus de mémoire que les verrous de table. Notons par ailleurs que les verrous de niveau ligne:

* Sont plus lents que les verrous de table surtout lorsqu’ils sont appliqués à une grande portion de la table.

* Donnent de piètres résultats avec les requêtes Group By ou tout autre requête qui scanne l’intégralité d’une table.

* Ont un coût d’administration qui est supérieur à celui des verrous de table.

Cela dit, les verrous de table sont plus performants que les verrous de ligne dans les cas suivants :


* Les opérations de lecture.
* Les opérations de modification portant sur des clés précises (comme celles de l’exemple ci-dessous).

UPDATE table_name SET column=value WHERE unique_key#
DELETE FROM table_name WHERE unique_key=#

* De nombreux scans / GROUP BY sur toute la table, sans aucune écriture .

Les autres niveaux de verrouillage possibles dans MySQL sont :

* Les verrous de niveau page : disponibles uniquement avec les tables de type BDB leur performance est tributaire de la taille de la page (ensemble constitué par deux ou plusieurs lignes). Avec ces verrous la concurentialité est d’autant plus faible que la taille des pages est grande.

* Le versionage : un thread qui écrit et de nombreux autres qui lisent. Dans ce cas Les verrous s’appliquent aux opérations d’écriture et non aux opérations de lecture.

Le tableau 59 résume la relation entre la performance, les mécanismes de verrouillage, les moteurs de stockage et la concurentialité.
 

Verrouillage

Concurentialité

Charge de travail

Moteur de stockage

Table La plus faible Faible MyISAM, Heap, Merge
Ligne / page Moyenne Moyenne InnoDB /BDB
Versionage La plus élevée Elevée InnoDB
Dernière mise à jour : ( 12-04-2006 )
< Précédent   Suivant >
Professional Development with Web APIs : Google, eBay, Amazon.com, MapPoint, FedEx
Professional Development with Web APIs : Google, eBay, Amazon.com, MapPoint, FedEx

Un livre idéal pour les programmeurs .Net qui veulent intégrer à leurs applications de commerce électronique, les fonctionnalités offertes à travers les services web de Google, Fedex, Ebay, Amazon et MapPoimt.

Après un bref rappel des concepts de base, ce livre aborde des sujets avancés comme l'appel des API à partir d'appareils mobiles ou des applications développées avec VBA, l'envoi d'un fax via l'API Paypal, la création de votre propre web API (cette liste n'est pas limitative). A la fin de ce livre vous trouverez des études de cas qui montrent comment utiliser les API précitées pour développer rapidement une application CRM et un un tableau de bord électronique.

 

Références

 

http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764584456.html, Denise M. Gosnell, Wrox, ISBN: 0-7645-8445-6, April 2005, 324 pages

Moteur de recherche
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Sondages

Souhaiteriez-vous participer au développement d'un site e-commerce en .Net ?

  
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround