Как исследовать новое поведение транзакций между Mysql 5 и JBoss 4.02 внутри OpenVZ?

Как исследовать новое поведение транзакций между Mysql 5 и JBoss 4.02 внутри OpenVZ?

Я перевел производственный сервер на OpenVZ, что я уже делал много раз, но на этот раз это повлияло на поведение транзакций некоторых операций.

Все мои таблицы innoDB. Я не менял никаких параметров по сравнению с их исходным состоянием.

Определенные запросы к JBoss приводят к транзакциям, которые занимают ровно 10 секунд для завершения, но только с перерывами. Обычно они молниеносны.

Я не могу найти ничего в my.cnf или в переменных Mysql, что соответствует этой 10-секундной задержке. Я вижу, как транзакции появляются в Innotop, но если я переключаюсь в режим Q - query, я не могу увидеть полный запрос, нажав f.

Кажется, нет никакого отката, потому что даже при задержке функциональность не нарушается. У JBoss тайм-аут транзакции составляет 300 с согласно стандартной конфигурации.

Я не вижу превышения лимитов в /proc/user_beancounters (OpenVZ отслеживает, когда виртуальные машины превышают свои квоты ресурсов, для тех, кто не знает, что это такое).

Я изо всех сил пытаюсь определить, откуда взялось это узкое место.

решение1

Хорошо, теперь я могу ответить.

Я прочитал о том, как Mysql обрабатывает соединения, и оказалось, что он, по-видимому, всегда пытается выполнить обратный поиск, если только вы не скажете ему этого не делать, и при попытке выполнить эту попытку истекает время ожидания через 10 секунд.

Я не знаю, почему в моей сети периодически возникали тайм-ауты, но добавив:

пропустить-имя-разрешить

в my.cnf, проблема исчезла.

На самом деле, мне это не совсем понятно, поскольку Jboss использует пул соединений, который должен оставаться активным из-за большого объема регулярной активности, но неважно.

Связанный контент