Beaucoup de "Query End" indique en MySQL, toutes les connexions en quelques minutes

Ce matin, j'ai remarqué que notre serveur MySQL charge allais haut dans le ciel. Max doit être de 8, mais il a frappé plus de 100 à un moment donné. Quand j'ai vérifié la liste des processus, j'ai trouvé énormément de requêtes de mise à jour (simple, incrémentation d'une "hitcounter") qui étaient en query end état. Nous n'avons pas les tuer (bon, on pourrait, mais ils sont restés dans la killed état indéfiniment) et notre site à l'arrêt.

Nous avons eu des tonnes de problèmes de redémarrer le service, et à force de tuer des processus. Quand nous l'avons fait, nous avons été en mesure d'obtenir MySQLd revenir, mais le processus a commencé à construire de nouveau immédiatement. Pour autant que nous sommes conscients, aucune configuration n'a été changé à ce point.

Donc, nous avons changé innodb_flush_log_at_trx_commit de 2 à 1 (à noter que nous avons besoin de l'ACIDE conformité) dans l'espoir que cela permettrait de résoudre le problème et définir les connexions en PHP/PDO être persistant. Cela semblait fonctionner pour une heure ou deux, et puis les connexions a commencé à courir à nouveau.

Heureusement, j'ai configuré un serveur esclave d'un il ya quelques mois et a été en mesure de promouvoir et à prendre le relais pour l'instant, mais j'ai besoin de comprendre ce qui s'est passé et comment l'arrêter, puisque le serveur esclave est nettement insuffisante par rapport à la maîtrise, j'ai donc besoin de revenir bientôt.

Quelqu'un a des idées? Se pourrait-il que quelque chose a besoin de compensation? Je ne sais pas quoi, peut-être que le binaire journaux ou quelque chose? Toutes les idées? Il est extrêmement important que nous pouvons obtenir ce serveur en tant que maître, le plus tôt possible, mais franchement, je n'ai aucune idée de où chercher et tout ce que j'ai essayé jusqu'à présent a seulement abouti à une solution temporaire.

Aider! 🙂

source d'informationauteur Ant The Knee