A better MySQLTuner – Sheeri K. Cabral

MySQLTuner est un script Perl qui produit un rapport sur la configuration de votre serveur MySQL et donne des pistes d’optimisation. On peut bien sûr s’interroger sur la manière dont l’analyse est faite et surtout sur la pertinence des recommendations. C’est exactement l’exercice qu’a fait Sheeri pour nous, en examinant le script sur toutes ses coutures.

Il en ressort que pas mal d’affirmations et de recommendations sont hardcodées et ne tiennent absolument pas compte des spécificités de votre base. Un exemple ? Si le cache de requêtes est désactivé, alors le script va systématiquement vous remonter qu’il s’agit d’un problème, même si vous avez sciemment désactivé ce cache.

A partir de toutes ces constatations, Sheeri a commencé à faire évoluer le script, en ajoutant pour l’instant quelques options intéressantes, comme celle permettant de formater le rapport de manière à le rendre facilement …

[Lire plus]
OpenSQLCamp : Sharding for the masses

Ce week-end a lieu à côté de Bonn l’OpenSQLCamp, en parallèle de la FrOSCon. Giuseppe Maxia nous parle aujourd’hui d’une technique utilisée dans certaines applications à fort trafic : le sharding. Mais à quoi sert le sharding ?

Quand on commence une application, un seul serveur SQL suffit généralement à absorber la charge. Si le trafic augmente et que les performances du serveur commencent à s’écrouler, on peut utiliser la réplication. Mais la réplication ne permet que d’augmenter le nombre de lectures possibles (read scaling) et pas le nombre d’écritures (write scaling). Cette limitation provient du fonctionnement même de la réplication car toutes les écritures doivent arriver sur le serveur maître. On peut alors imaginer de séparer les données selon certaines règles (dépendantes de …

[Lire plus]
Trois nouvelles versions de d'EasyPHP

EasyPHP va sur ses 10 ans mais est toujours actif. Trois nouvelles versions viennent d'être lancées.
Comme toujours, EasyPHP peut s'installer n'importe où : disque dur, clé USB ...
Avec ces nouvelles versions, les fonctionnalités précédentes restent (comme la gestions des alias) et d'autres apparaissent : possibilité de modifier directement via l'interface d'administration le répertoire DocRoot d'Apache et de déclarer le TimeZone pour PHP.
EasyPHP est maintenant traduit en 7 langues (et d'autres vont venir).

Website : http://www.easyphp.org
Facebook page : http://www.facebook.com/pages/EasyPHP/100608599258
Twitter : http://www.twitter.com/easyphp
Sourceforge : …

[Lire plus]
Ne croyez pas tout ce que je vous raconte

En lisant ce post : Devoirs de vacances, ou comment se coucher moins bête en lisant son propre blog sur Presse-Citron

J'ai répondu en commentaire

C'est assez vicieux et vrai.  Personnellement, moi qui blogue 
principalement à propos de php, parfois mysql, le libre, la musique, ... 

Je me dit souvent que je blogue avant-tout 
pour mettre mon propos à l'épreuve.

Mais l'ego est tel, je le reconnais qu'il m'arrive encore 
de ne pas poster quand je ne suis pas "confiant" dans ce que je dis. 
C'est dommage parce que j'aurais pu ouvrir les débats. 

Et si je commençais tous mes posts par une phrase du style
"Ne croyez pas tout ce que je vous raconte"
ca le fait pas non plus.

Tiens je vais bloguer ce commentaire...

Donc voilà. Quand je poste un avis c'est pour avoir le vôtre. Quand j'affirme un …

[Lire plus]
Les fragments

Le site « MySQL performance blog » propose en ce mois d'août une série de 4 articles touchant les fragments
La première partie concerne son approche et pourquoi c'est aussi complexe de l'utiliser
La deuxième partie parle du top 10 des améliorations XtraDB, même s'il est très difficile de définir un classement exact et surtout scientifique.
XtraDB est une des parties qui a le plus d'impact et qui est le plus applicable à toutes les charges de travail.

!include

my.cnf, comme vous le savez certainement est le nom du fichier de configuration de MySQL. Vous pouvez également le retrouver sous le nom de my.ini en environnement MS Windows. Il permet comme son nom l’indique de configurer votre serveur MySQL en y centralisant les options de … configuration. Le but ici n’est pas de détailler la longue liste des paramètres de MySQL, la documentation officielle est (presque) bien faite, mais de mettre le « focus » sur la directive !include (avec un « ! » devant).

Cette dernière permet d’inclure un fichier de configuration dans un autre (sic). Autant je suis un adèpte de la non duplication du code en dévellopement (des require_once en PHP utilisés avec modération ça vous simplifie bien …

[Lire plus]
wampMSS 1.2.0-b1

Nouvelle version de l'application wampMSS disponible à cette adresse : http://www.uni-d.net

La nouvelle version de wampMSS est disponible en version 1.2.0-b1.

Pour rappel, ce programme basé sur WAMP permet de faire fonctionner APACHE, PHP et MYSQL sur un disque amovible de type clef USB.

Cette nouvelle version contient:
- Apache 2.2.11
- PHP 5.3.0
- MySQL 5.1.36
- PhPMyAdmin 3.2.0.1
- Moteur de configuration 1.4.0
- Un outil d'aide à la création d'alias

Pour plus d'informations rendez-vous sur le site de wampMSS http://www.uni-d.net

Proposé par UNi

Importation d’un CSV

On m’a soumis un problème il y a quelques semaines (désolé du délai, c’est l’été pour tout le monde hein.. ) à propos d’importation CSV qui était terriblement lente. J’ai reçu très peu d’information, donc voici des tests que j’ai effectués afin qu’il puissent être utilisés comme point de référence pour des comparaisons. Voici la problématique telle qu’on me l’a soumise

Pour un simple fichier CSV d’environ 1000 lignes (quelques Mo), j’ai largement le temps soit de manger, soit de faire une sieste, … pour une base de données MyISAM. Si j’utilise une base de données InnoDB, celle dont j’ai besoin, plus d’une journée. Je me base uniquement sur un seul utilisateur. A terme, j’aurai des To de données à gérer.

La Machine de tests:

Une VM avec 512 Mo de RAM avec un mauvais IO puisque d’autres VM roulent sur le même serveur. Voici un bout de la config que j’ai utilisé …

[Lire plus]
Et en voilà 1000.

1000eme post sur ce blog.

Ca en fait des heures passées.

Je ne blogue pas si souvent que ça il aura fallu 6 ans et un mois pour y arriver.

J'avais commencé pendant 6 posts sur la plateforme de blog 20six.fr pour rapidement installer un dotClear et poster SILENCE SUR LE PLATEAU, ON TOURNE Clap.

En moyenne je passe 2 à 4 h sur un post avant de vraiment le publier. (puis je passe encore 2 - 3 a retrouver des fautes ou des imprécisions à corriger.) Ce qui me prend souvent beaucoup de temps c'est d'illustrer ou d'ajouter des liens, mais c'est aussi ce qui me semble important à faire.

De 4 catégories,

  • Just a belgian life
  • SNCB
  • technos du libre
  • Débilités de l'actualité …
[Lire plus]
Utiliser XML avec MySQL 5.1 (part 3/5)

(<- précédent)

Interroger un flux XML avec Xpath

L’emploi de XML ne présenterait pas beaucoup d’intérêt sans la possibilité de pouvoir interroger sa structure pour accéder à une information particulière : le langage XPath répond à cette attente et est (en partie du moins) aujourd’hui intégré à MySQL. Mais avant de voir comment utiliser XPath à travers MySQL, il est nécessaire de se pencher sur la syntaxe de ses expressions, dont la construction la plus importante est sans conteste le chemin de localisation (location path).

Le chemin de localisation

De manière similaire à la navigation au sein d’un système de fichiers, un chemin de localisation se compose d’une succession d’étapes, séparées les unes des autres par un /. La description d’un …

[Lire plus]