Displaying posts with tag: Optimisation (reset)
Comment presser un citron (préambule).

"La simplicité est la sophistication suprême" (Léonard de Vinci).

Problème : vous avez à trouver, en seulement quelques secondes, un enregistrement unique parmi des milliards de milliards de possibilité et les seules informations dont vous disposez pour faire votre recherche sont de 17 à 35 attributs sur les 81 que contiennent la donnée tant convoitée… Est-ce possible ? Comment faire? De prime abord, ça semble impossible!

"Impossible n’est pas français" comme le dit le dicton (faussement attribué à Napoléon Bonaparte, vexé par le pessimisme de Jean Léonard, comte le Marois).

Il y a bientôt quelques années de cela, un de mes confrères de travail, …

[Lire plus]
Meetup MySQL Viadeo / LeMUG.fr, les photos

Vous pouvez consulter les photos du meetup Viadeo/LeMUG sur le compte FB du MUG:

https://www.facebook.com/media/set/?set=a.10150393843136937.345851.46154571936&type=3

Un disque SSD comme buffer pour InnoDB

MySQL, la base de données open source la plus populaire, inspire toujours autant les développeurs. David, propose un patch qui permet de créer un buffer pool supplémentaire pour InnoDB, qui est stocké sur un disque SSD ou de la mémoire flash.

Cette fonctionnalité créée un thread qui en tache de fond récupère les pages de données virées du buffer pool pour les copier dans le buffer pool supplémentaire du SSD au lieu du disque classique. L’idée étant d’éviter les accès au disque classique ( beaucoup plus lents notamment lors d’accès aléatoires).

De plus selon ses tests, les résultats restent également bien meilleurs avec une configuration SSD et un seul buffer pool.

Sysbench OLTP benchmark

Server: Intel(R) …

[Lire plus]
Sortie du livre: Audit et optimisation – MySQL 5

Pascal Borghino, Olivier Dasini, Arnaud Gadal et Eyrolles ont l’honneur de vous annoncer la sortie du livre Audit et optimisation MySQL 5.

Pour la première fois, les meilleurs experts de chez Yahoo!, Orange Business Services et Virgin mobile livrent leur expérience de terrain... en français

Editeur : EYROLLES | Langue : Français | ISBN-10: 2212126344 | ISBN-13: 978-2212126341

A l’occasion du salon Solutions Linux/Open Source qui se tiendra du 16 au 18 mars à Paris Expo-Porte de Versailles, cet ouvrage sera disponible en exclusivité et en avant-première sur le stand Eyrolles (n°C35).

L’ouvrage sera disponible en librairie le 25 mars 2010. Vous pouvez cependant déjà le commander sur les sites spécialisés ( …

[Lire plus]
PHP Hautes Performances – Coté MySQL avec l’exemple de Netlog

Rendre une application LAMP performante implique d’optimiser plusieurs éléments. En travaillant sur le sujet entre autres dans le cadre de nos formations PHP Tuning, j’ai été amené à consulter le retour d’expérience de Netlog par l’un de ses responsable Jurriaan Persyn. Netlog est un réseau social de plus de 60 millions de jeunes en Europe. [...]

Natural ID vs Generated ID

Au boulot, je suis régulièrement confronté à ce que les développeurs croient être le mieux pour une application, versus ce que je crois qui est le mieux pour le serveur de base de données. Voici donc une petite étude que j’ai fais concernant les Natural ID versus les Generated ID.

Premièrement, il n’y a aucune garantie que les Natural IDs ne changeront jamais, sous aucune circonstance. En fait, il y a très peu de cas où nous pouvons en être 100% sur. Les Generated ID eux ne changent jamais, sous aucune circonstance.

De plus, advenant le cas où le natural ID changerait, il faudra gérer ce changement en cascade pour chaque clé étrangère. Ce changement invalidera tous les enregistrements en cache, pour tous les niveaux de cache, autant pour la table primaire et que les tables “enfants”.

Dans un contexte de faible contrainte d’intégrité, la possibilité que quelqu’un soit tenté d’updater la …

[Lire plus]
Formation Optimisation MySQL

Désolé, il ne reste plus de place pour cette matinée dédiée à l'optimisation des performances MySQL.

Date : 24 novembre 2009

Session 1 : 9h30-10h45

  • Architecture MySQL : Parsing, exécution, optimizer, query cache, binlog…etc
  • Architecture Innodb : Clustered index, bufferpool, hash index, insert buffer, locking model, MVCC, recovery log, checkpoint…etc. Comparaison avec les autres moteurs de stockage (PBXT, MySQL Cluster) et bases de données (PostgreSQL, Oracle ..).


Pause/Café : 10h45-11h00.

Session 2 : 11h00-12h30

  • Évolutions récentes : Google SMP patches,  XtraDB, Oracle innodb plugin 1.0.4
  • Apports de MySQL 5.4
  • Améliorations à venir :  Ahead flushing / Adaptive checkpoint,  …
[Lire plus]
Formation Optimisation MySQL

Désolé, il ne reste plus de place pour cette matinée dédiée à l'optimisation des performances MySQL.

Date : 24 novembre 2009

Session 1 : 9h30-10h45

  • Architecture MySQL : Parsing, exécution, optimizer, query cache, binlog…etc
  • Architecture Innodb : Clustered index, bufferpool, hash index, insert buffer, locking model, MVCC, recovery log, checkpoint…etc. Comparaison avec les autres moteurs de stockage (PBXT, MySQL Cluster) et bases de données (PostgreSQL, Oracle ..).


Pause/Café : 10h45-11h00.

Session 2 : 11h00-12h30

  • Évolutions récentes : Google SMP patches,  XtraDB, Oracle innodb plugin 1.0.4
  • Apports de MySQL 5.4
  • Améliorations à venir :  Ahead flushing / Adaptive checkpoint,  …
[Lire plus]
Une belle histoire de Scaling

J’ai lu une histoire très intéressante aujourd’hui à propos de l’utilisation de MySQL chez SoftLayer. Il raconte comment ils ont atteind les limites de MySQL de 5 manières différentes avant de trouver “la” solution pour construire un datawarehouse. Une belle histoire de scaling!

http://sldn.softlayer.com/09/2009/building-the-data-warehouse/

Disponible en anglais uniquement…

MySQL Query cache

En tant que boulimique de MySQL, je me promène souvent sur la toile à la recherche d’informations, de bonnes et de moins bonnes…

Je suis tombé sur un article traitant du cache de requêtes de MySQL (MySQL Query Cache) sur le blogue de Patrick Lafontaine (http://www.noidea.ca/)

Je me permet de faire quelques commentaires ici.

En préambule, quelques informations nécessaires sur le cache de requêtes:

Système de cache interne à MySQL qui ne stocke que les requêtes SELECT et leur résultat ie pas d’INSERT, UPDATE, DELETE…

Les requêtes ( SELECT donc) doivent être strictement identiques ie même casse, mêmes espaces entre les mots,…

Ex 3 requêtes …

[Lire plus]