MySQL : Apprendre à bien configurer

19 réponses
AuteurMessage

Rano |
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2006 à 12:51

Salut,

Je me penche de plus en plus sur le cas de MySQL, ClickInText oblige
Je suis allé un peu éplucher la doc et je me rend compte qu'il y a réellement tout un tas de petits points à configurer (différents buffer, cache, ouverture de tables, etc...). Pour les experts de mysql, comment avez vous appris à configurer toutes ces données ?

Comment choisir les valeurs à indiquer à ces paramètres en fonction de l'utilisation qu'est faite des données ?

Par exemple, pour ClickInText, je suis en train de faire pour mysql comme je fais pour apache, c'est à dire mettre plusieurs serveurs. Mais tous (bon, 2 pour l'instant ) n'ont pas la même utilité. Certains ne font que des select pour traiter les requêtes et quelques insert occasionnellement, d'autres ne sont là que pour bourriner à faire des insert pour stocker les affichages et clics (bon, là ca semble bien optimisé, il load à 0,15 pour l'ensemble du réseau ), d'autres ne font que des calculs de traitement des données pour les statistiques...

Enfin, chaque serveur mysql a ses propres fonctions et sa propre mise en avant. Où apprendre à les optimiser au cas par cas ?

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2006 à 12:57

Par exemple, ce genre d'article, j'adore :
http://developpeur.journaldunet.com/tutoriel/out/0...Ouvrir dans une nouvelle fenetre

Il fait un listing qui sert à rien et finit par :
"Les administrateurs de SGBD se doivent de se documenter à leur propos pour optimiser au mieux leur système."

Voilà une nouvelle fois un article bien utile...

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Shain | Yoann
Membre

Photo de Shain

Inscrit le : 10/05/2005

# Le 20/11/2006 à 13:27

Effectivement, l'optimisation poussée de MySQL manque de documentation ... j'avais cherché il y a quelques mois, mais n'avais rien trouvé de très instructif. J'ai l'impression que mener ses propres tests est encore une des meilleure facon d'avancer ...

[ Shain ]
http://www.automobile-propre.comOuvrir dans une nouvelle fenetre - http://fr.chargemap.comOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2006 à 13:57

Je viens de télécharger les outils fournis sur mysql déjà (Mysql Administrator notamment). Cela permet déjà de mettre en place des monitoring sur toutes les variables qu'on souhaite. De cette manière, on peut voir l'utilisation des différents cache, repérer quand il y a des pointes sur certaines variables, etc...

Un truc qui serait parfait (dans mon cas), c'est de pouvoir obtenir la liste des requêtes mysql en cours d'éxécution lorsque le nombre de connection est égal au nombre de connection maximum (et donc que les Too many connections commencent à arriver). Avec ça, y a vraiment moyen de repérer les faiblesses de la base (niveau architecture en tout cas). Ca arrive pas souvent, mais j'aimerai bien savoir pourquoi ca arrive quand ca arrive

EDIT : Il y a un Widget mac fournit avec Mysql Administrator bien pratique

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2006 à 15:02

Bon, je devrais trouver mon bonheur dans les quelques 850 pages du guide de référence pour administrateurOuvrir dans une nouvelle fenetre édité par Mysql AB

C'est parti, ça fera quelques charges...

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

superfc | Florent
Membre

Photo de superfc

Inscrit le : 01/07/2006

# Le 20/11/2006 à 15:20

Déja le "long query" value devrait t'aider. Ca revient exactement au même, puisque quand le serveur est occupé, ça veut dire que y'a des requêtes qui prennent trop de temps. J'ai mis 2s, et j'en ai aucune perso.
Mais mon truc le plus consommateur est gpsfrance qui utilise des calculs de coordonnées GPS, et il fait ça tout de même très rapidement.

J'ai pas mal de paramêtre dans ma config, le seul qui soit vraiment utile à priori c'est :
key_buffer = 32M

Enfin, tout ça dépend pas mal de ta machine et de l'utilisation que tu comptes en faire... J'ai trouvé un topic intéressant sur un forum :
http://www.theadminzone.com/forums/showthread.php?...Ouvrir dans une nouvelle fenetre

Un autre pas mal, moins clair je trouve :
http://www.interworx.com/forums/showthread.php?p=2...Ouvrir dans une nouvelle fenetre

Mais ça dépend vraiment de l'utilisation qu'on en fait... Si on a de grosses tables, si on en a beaucoup, si on fait des requêtes diversifiées, si on fait beaucoup de jointure ou non, etc.

Florent Clairambault - http://florent.clairambault.frOuvrir dans une nouvelle fenetre
Gtalk : superfc@gmail.com

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2006 à 15:30

Si on a des pointes à 10,000 requetes par secondes...

Ok, merci pour les topics je vais regarder

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 20/11/2006 à 16:15

Les deux topics combinés sont vraiment bien, merci beaucoup.

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 20/11/2006 à 16:19

Effectivement, il y a tres peu de docs pour les optimisations pointues

Moi j'ai fait beaucoup de tests, de surveilance, de modif de variables, etc... pour voir comment reagit la machinie sous la charge en fonction des differents parametres.

Tu arrives assez vite a isoler les variables les plus utiles

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 21/11/2006 à 10:01

Hello,

pour ma part, dans le désordre :
- le bouquin High Performance MySQLOuvrir dans une nouvelle fenetre (et occasionnellement le blog d'un des auteurs du bouquin)
- épluchage de la doc officielle concernant chaque paramètre, les différents moteurs, et les nombreux "conseils" qu'on y trouve
- la page "Etat du serveur" de phpMyAdmin. Bien que pas forcément exhaustive, elle a au moins le mérite de faire pointer quelques valeurs "clés", et donc de savoir où taper dans la doc.
- quelques années "de développement + optimisation" de requêtes sur des systèmes très chargés (Oracle et Informix).

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 06/06/2008 à 00:21

Hop hop, 2 coups de pelle pour un bon gros déterrage de topic. Mais autant tout regrouper ensemble.

Une page sympa qui explique assez clairement le tunning sur certaines valeurs precises.

http://www.databasejournal.com/features/mysql/arti...Ouvrir dans une nouvelle fenetre

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 06/06/2008 à 00:32

Dans l'élan, une liste d'outils pratiques : http://www.mysqlperformanceblog.com/tools/Ouvrir dans une nouvelle fenetre

(et l'ensemble du site de manière générale est plutôt bien)

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 06/06/2008 à 09:31

On pourrait ptet regrouper tous les topics techniques avec des astuces dans le forum "dossiers" ?

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 06/06/2008 à 09:33

C'est sur que ca serait le top de faire des topics "résumé" dans dossier.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 06/06/2008 à 09:38

Ce qui serait top déjà c'est un moteur de recherche utilisable

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

caaptusss | Jérémy
Membre

Photo de caaptusss

Inscrit le : 25/09/2007

# Le 06/06/2008 à 10:45

Rano a dit :
Ce qui serait top déjà c'est un moteur de recherche utilisable


lol

FirstHeberg.comOuvrir dans une nouvelle fenetre

caaptusss | Jérémy
Membre

Photo de caaptusss

Inscrit le : 25/09/2007

# Le 06/06/2008 à 12:15

Exactement ce qui est arrivé ce matin à mon serveur Mysql principal qui a connu une attaque rangé contre 4 des 7 serveurs de Freeheberg. Le maxconnexion a été atteint en plus d'apache qui prenais la blinde de ram, ça a swappé, et le disque a faillit passer en read only.

Heureusement, le monitoring a agit tout seul, il a relancé les softs et blacklisté les ip, durée de l'indispo : 7 mn.

FirstHeberg.comOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 13/11/2008 à 22:02

(je n'ai pas retrouvé le "dossier" concernant MySQL, il est passé à la trappe ou bien le moteur de recherche est toujours aussi "pertinent" ?)

Enfin bref, pour ceux qui comme moi ont longtemps cherché un outil open source pour surveiller un serveur MySQL, il y a Zabbix. C'est un outil de monitoring généraliste qui sait faire pas mal de chose de manière pas trop idiote.

Par exemple pour récupérer 50 variables de statut MySQL certains softs vont imposer 50 connexions au serveur MySQL suivies des 50 requêtes "show status"... Avec Zabbix pour ce cas précis, un seul "show status" en cron est suffisant.

Le but étant de pondre des graphiques de ce genreOuvrir dans une nouvelle fenetre , qui permettent de mettre en évidence certains soucis. Par exemple ici dans "MySQL connections" on voit que des scripts n'arrivent pas à se connecter, dans "Mysql handler read" on voit plein de "read rnd next" indiquant une base mal indexée, et d'après "MySQL Key buffer" il y aurait 60% de KeyBuffer inutile.
Le genre d'outil bien pratique pour affiner/ajuster la configuration du serveur, ou corriger les requêtes problématiques... à condition d'avoir la Doc MySQL à coté quoi.

PS : normalement "MySQL Entreprise" inclus déjà ce genre de choses il me semble, quelqu'un ici l'utilise ? Ca donne quoi ?

(Message édité le 13-11-2008 à 22h07 par Bool)

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

caaptusss | Jérémy
Membre

Photo de caaptusss

Inscrit le : 25/09/2007

# Le 13/11/2008 à 22:15

Pas mal ! Ca pourrais être cool pour mes serveurs, histoire de voir ce que donne mysql...

FirstHeberg.comOuvrir dans une nouvelle fenetre

flush | Jean-Philippe
Modérateur

Photo de flush

Inscrit le : 09/05/2005

# Le 13/11/2008 à 23:45

Ca vaut parfois vraiment le coup de faire venir un consultant mysql qui va tout régler et te faire réaliser des grosses grosses économies

En plus il va tout t'expliquer beaucoup plus vite que si tu essayes d'apprendre par toi même !

Il y a une conférence à Paris juste très abordable (200€) par Mysql d'ici la fin du mois.


Ce qui faut regarder avant d'aller régler la configuration mysql, c'est :
- l'écriture / lecture disque
- charge
- tables qui "lock"

@+ Jean-Philippe

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 6:56:59 | Généré en 12.02ms | Contacts | Mentions légales |