Archive pour May 2007

max_connections

Tuesday 22 May 2007

Aujourd’hui fut la journée des ‘too many connections’. En effet pas loin de 3 applications ont planté du fait que le nombre maximum de connexions MySQL avait été atteint. Le message d’erreur est très parlant. Comment est ce possible? mysqld autorise max_connections+1 clients à se connecter. Le ‘+1′ est une extra connexion réservée aux comptes ayant le privilège SUPER. Donc si votre user applicatif à ce privilège, vous vous retrouvez bloqués. Prenez comme principe d’avoir les privilèges minimaux pour vos utilisateurs, INSERT, UPDATE, DELETE et SELECT suffisent largement.

La valeur par défaut du paramètre est de 100.


mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 100 |
+-----------------+-------+

Donc à vous de connaître vos besoins et d’allouer un nombre maximum suffisant pour votre application. Cela peut être utile pour vous montrer une erreur logicielle si le nombre est trop important.

Maintenant quelle est le problème si j’autorise trop de connexions simultanées. Tout simplement d’ utiliser trop de mémoire et de planter votre serveur. Il faut garder en tête cette rapide équation:

Un connexion ( MySQL thread ) utilise en RAM au maximum:
( thread_stack + net_buffer_length + max_allowed_packet + read_buffer_size + join_buffer_size + tmp_table_size + myisam_sort_buffer_size )

Sachant que vous avez déjà alloué de la mémoire à votre buffer pool / key cache, restez vigilant à ne pas dépasser le total de votre serveur.

Avec MySQL 5.0, une nouvelle variable est apparue, ‘max_user_connections’ pour limiter le nombre de connexions concurrentes pour un même utilisateur. C’est une variable globale pour TOUS les utilisateurs et activée pour les valeurs > 0.


mysql> show variables like 'max_user_connections';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| max_user_connections | 0 |
+----------------------+-------+

C’est officiel.

Monday 21 May 2007

Je tenais à remercier Lenz pour le clin d’oeil sur son blog. Comme il le dit si bien amis MySQL fan, proposer sans faute votre flux.
Plus on est de fous pour on rit.

planetmysql

Thursday 3 May 2007

Une des raisons de la création de ce site vient d’une simple remarque. Il n’y avait pas assez de blog en français sur MySQL. Un des exemples frappant est l’absence complète de français sur Planet Mysql. Vous aviez de l’anglais, de l’allemand et de l’espagnol. Et nous francophones, ou sommes nous? Etant à la conférence, j’en ai profité pour en parler à Jay Pipes qui était évidement content de rajouter une nouvelle langue. J’ai donc passer ma soirée d’hier à traduire les fichiers de configurations et vous avez dés aujourd’hui le drapeau bleu blanc rouge sur le site! dbnewz va prochainement apparaître!

DorsalSource

Thursday 3 May 2007

Je ne sais pas vous mais moi, si il y a une chose qui m’ennuie c’est bien de recompiler les sources de MySQL à chaque fois que je veux tester un patch. D’une part il va toujours me manquer quelque chose et de l’autre je perds un temps fou. La solution à ce problème est enfin là et s’appelle DorsalSource , la nouveauté de mon ami Jérémy Cole et de l’équipe provenscaling en association avec solid.

DorsalSource est une idée qui a germée peu après l’annonce fin 2006 des versions « communauté » et « entreprise », MySQL ne fournissant plus les binaires aussi souvent pour la version communauté, version pour tout utilisateur sans contrat de support.

(more…)