Displaying posts with tag: MySQL (reset)
Performances MySQL 5.1: 2nd round

Dans le billet précédent, j'ai eu un premier aperçu de MySQL 5.1.30 au niveau des performances, à comparaison égale avec 5.0.76, où on peut constater une nette dégradation des performances, notamment au niveau des accès disques (IO).

J'ai voulu profiter de cet environnement de prod en test un peu plus, parce que c'est pas tous les jours qu'on a ce genre d'occasion ! Parce que la prod, comme son nom l'indique, n'est pas un environnement de tests.... passons, je sais que c'est mal, mais je sais que si ça crash, rien ne se verra, les applications continueront de fonctionner sans erreurs, vive le web 2.0 !!

J'ai donc pu tester une des nouvelles feature de 5.1: le partitionnement. En terme de performance (toujours, toujours...) ça donne quoi ?

Ce graph CPU représente la phase de partitionnement: 3 tables de ~100 millions d'enregistrements chacunes. 99% des requêtes SQL concerne un status: WHERE …

[Lire plus]
Les nouveautés de MySQL 5.1 — (part 5/5)


(<- précédent)

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.

Créé pour devenir le meilleur ami des administrateurs de bases de données et des développeurs, le client mysqlslap 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’écrire dans un fichier au format CSV utilisable …

[Lire plus]
Invitation du MySQL User Group : les dernières tendances de l’Open Source

Ayant survécu à un récent déménagement de Sophia-Antipolis vers la région parisienne ainsi qu’à la première vague de ces fêtes de fin d’année, pour marquer l’évènement et vu que j’ai retrouvé mon clavier, je vous gratifie d’une petite news qui intéressera sans doute quelques-uns d’entre vous.

Le 14 janvier prochain aura lieu une soirée Open Source organisée par Sun à l’occasion du passage à Paris de Simon Phipps, leur “Chief Open Source Officer”. C’est l’occasion de réunir plusieurs clubs utilisateurs de solutions Open Source dont votre dévoué lemug.fr pour la partie MySQL.

Voici les grandes lignes de cette soirée du mercredi 14 janvier prochain :

  • 18h30 —  Accueil
  • 19h00 — Simon Phipps, Chief Open Source Officer, …
[Lire plus]
MySQL 5.1 en prod: impact sur les performances

MySQL 5.1 GA est sortie en grande pompe, et tout le monde y va de son billet, pour ou contre. J'ai pu le mettre en environnement de production en mode master/slave et slave: le premier est slave d'un 5.0.56, et master d'un 2ème serveur en 5.1.30.

On peut nettement apercevoir sur le graph CPU suivant, la mise en prod de la version 5.1.30, avec une très nette augmentation des IO disques ! Le slave (22), en 5.0, prenait parfois du délais lors de la regénération de tables, en 5.1 il prend nettement plus de délais. Je n'ai même pas testé les nouvelles fonctionnalités comme le partitionnement, ayant lu sur plusieurs articles que cette version était encore trop buguée si on les utilisait...

Ah oui, et c'est pas tout... Le master/slave (21) a lamentablement crashé, après 6 jours seulement d'utilisation ! Un ticket est ouvert chez MySQL, qui n'a pas de solution, et attend le prochain crash avec cette fois les core …

[Lire plus]
MySQL 5 : Les vues — (part 5/7)

(<- précédent)

Masquer la complexité du schéma

L’équipe de développement doit écrire un moteur de recherche pour une application de commerce électronique. Voici un extrait des tables de la base de données impliquées dans la recherche des produits du site.

La difficulté est de générer la bonne requête avec les bonnes jointures (plus d’une dizaine), à chaque recherche. Une solution pour faciliter le travail des développeurs est de créer une vue qui fait référence à toutes les tables impliquées dans la recherche des produits. Les recherches se feront donc sur cette vue, avec des requêtes plus simples à écrire.

La vue est créée avec l’algorithme TEMPTABLE, les verrous sur les tables sous-jacentes seront libérés plus rapidement ce qui permettra de moins pénaliser les autres requêtes. …

[Lire plus]
Présentation: Architectures haute disponibilité avec MySQL

La haute disponibilité consiste à faire en sorte qu’un service ou une architecture soit le moins souvent indisponible…

http://dasini.net/blog/presentations/?#Haute_dispo_avec_MySQL

PDF à télécharger

Les nouveautés de MySQL 5.1 — (part 4/5)


(<- précédent)

Le moteur de stockage CSV

Le moteur de stockage CSV n’est pas une vraie nouveauté. Il est disponible depuis MySQL 4.1.4 (MySQL 5.1 pour M.S. Windows). Sa particularité est de stocker les données dans un fichier texte au format CSV (Comma Separated Values) où les données sont séparées par une virgule. Les avantages sont multiples, comme la possibilité d’éditer les données avec un éditeur de texte ou un tableur(Open Office Calc, Excel…) ou encore la possibilité de charger simplement d’énormes volumes de données dans le serveur MySQL.

Créer sa table au format CSV est très simple. On reste dans la logique MySQL de création de table : il faut en fait simplement spécifier CSV comme moteur (il n’est pas possible d’avoir des index, …

[Lire plus]
Retour sur le forum PHP 2008

Ca y est,it’s over

Néanmoins, un constat s’impose: excellent cru !

Je n’ai malheureusement pu être présent qu’a deux conférences:
Architectures haute disponibilité avec MySQL… et pour cause
La salle était rempli, ce qui prouve que MySQL est un sujet qui intéresse.

L’excellent Damien Seguy avec Hackez moi ça, qui traite de la sécurité à fait un véritable show. La salle était malheureusement trop petite pour tout le monde.

En tout cas, félicitation aux conférenciers, à toute l’équipe et au président …

[Lire plus]
MySQL 5 : Les vues — (part 4/7)

(<- précédent)

Utiliser les vues

Voici quelques exemples pratiques très simples pour illustrer les différents besoins auxquels peuvent répondre les vues. On aura ici, une vue administrateur de base de données. Les objets créés ne seront pas utilisés directement par les utilisateurs mais aux travers d’une application.

Contrôler l’intégrité en restreignant l’accès aux données pour améliorer la confidentialité

La table employe de mon application, contient toutes les informations sur les employées.

CREATE TABLE `employe` (
  `id_employe` int(10) unsigned NOT NULL auto_increment,
  `nom` char(45) NOT NULL,
  `prenom` char(45) NOT NULL,
  `tel_perso` char(10) NOT NULL,
  `tel_bureau` char(10) NOT NULL,
  `statut` char(45) NOT NULL,
  `ville` char(45) NOT NULL,
  `salaire` decimal(7,2) …
[Lire plus]
Les nouveautés de MySQL 5.1 — (part 3/5)


(<- précédent)

MySQL Cluster : support des données sur disque

MySQL propose une solution de haute disponibilité : MySQL Cluster. Cette technologie permet de mettre en place une architecture cluster shared nothing à l’aide de tables au format NDBCluster. Jusqu’à MySQL 5.0, MySQL Cluster ne fonctionnait qu’entièrement en mémoire. Ceci excluait donc certaines bases de données trop volumineuses. La nouvelle version 5.1 lève cette limitation en permettant de mettre les données sur disque.

Pour enregistrer ses données sur le disque, il faut au préalable définir deux nouveaux objets : un LOGFILE GROUP et un TABLESPACE.

LOGFILE GROUP : permet gérer les undo …

[Lire plus]