mardi, janvier 10 2017

MySQL : Identifier les transactions lentes ou causant un crash

Certains comportements de MySQL/MariaDB/Galera/Percona sont parfois difficiles à investiguer.

C'est le cas notamment de :

  • un crash provoqué par une certaine requête
  • des requêtes bloquées par des transactions en cours (une transaction pouvant locker des lignes/index, sans qu'aucune requête ne sois visible ni dans le full processlist, ni dans le engine innodb status pendant le blocage).

mysql_analyse_general_log permet de diagnostiquer plus facilement ce type de problème, en analysant le log general de MySQL (toute les requêtes), pour en extraire toutes les transactions, et les requêtes de chaque transaction.

Celà permet notamment de filtrer :

  • les transactions qui étaient en cours à l'heure d'un crash
  • les transactions ayant duré plus de N secondes

Et donc de diagnostiquer facilement ces deux types de problèmes.

dimanche, février 6 2011

FOSDEM 2011

Petit week-end en Belgique à Bruxelles pour le FOSDEM : Free and Open-Source Software Developpers European Meeting.

Pas mal de conférences intéressantes, pas mal de conférences inintéressantes aussi, et pas mal dans lesquelles je me suis bien marré !

Dans les conférences intéressantes :

  • Perl
    • Moose : un framework permettant de faciliter de développement orienté objet
    • Dancer : un framework web très light, présenté avec beaucoup d'humour et de trolls. La vidéo sera peut-être en ligne dans quelques jours.

Le blog d'un des développeurs de Dancer détaille un peu tout ça

  • PostgreSQL
    • PgPool 2 v3.0 : les nouveautées de pgpool, le load balancing de requêtes, le failover automatique. Très bonne présentation et focntionnalités impressionnantes.

Dans les conférences plus drôles :

  • MySQL
    • Les nouveautés de la réplication avec MySQL 5.5 : Au final presque rien, et pas d'avancement sur certains problèmes actuels.
    • MySQL multimaster avec Tungsten : Un gars présente le produit de sa boite, la version open source ne fais pas grand chose, et ce qu'il explique ne peut pas marcher comme il le dit.
    • Multimaster MySQL failover : un gars explique une théorie sur la bascule sur le slave le plus à jour, puis la reconfiguration des anciens slave en slave du nouveau master à partir d'une position qu'il pense avoir calculé. A la première question il a été bloqué, il disait ne pas comprendre la question, je pense qu'il a bloqué parceque sa théorie ne tenais pas debout.

J'ai laissé tombé la troisième conf sur la réplication multimaster, vu les premières ça aurait surement été aussi très drôle.

La partie bière du week-end à été plus problématique : on c'est retrouvé un peu tard au centre commerical, on a du prendre nos bières dans un petit centre commercial le lendemain matin, avec beaucoup moins de choix, il restait donc un peu de place :

coffre fosdem