Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

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

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