Grails MySql processList - PullRequest
       11

Grails MySql processList

0 голосов
/ 13 июля 2009

У меня есть приложение Grails с веб-потоком. Я храню интересующие меня объекты внутреннего потока в области разговора. После входа и выхода из потока несколько раз, я вижу, что один пользователь, подключенный к БД (MySql), создает на MySql Server множество потоков, которые не освобождаются. Список процессов в mysql показывает мне потоки в спящем режиме, а netstat на клиенте показывает мне установленные соединения с сервером mysql. Я предполагаю, что соединения удерживаются активными и не освобождаются. Но почему это так? Что именно делает Grails при входе и выходе из потока? Почему так много соединений открыто, а не закрыто?

Любая помощь будет оценена.

С уважением, masiar

Ответы [ 2 ]

0 голосов
/ 14 июля 2009

Думайте о спящем пуле, как о стабильном и готовом пуле автомобилей, у которых все время включены двигатели, чтобы вы или ваши друзья могли прыгнуть и поехать куда угодно ... ну, нет, в базу данных. Не нужно ждать такси или заводить свою машину, прежде чем вы приступите к работе ... все хорошо здесь

Разговоры предназначены для того, чтобы держаться до тех пор, пока они нужны. Часто вы погружаетесь в рабочие процессы, а после их завершения вы возвращаетесь к своему старому и, таким образом, еще живому разговору. Так и должно быть ... и здесь все хорошо

0 голосов
/ 14 июля 2009

Grails использует Hibernate, который в свою очередь использует пул соединений; это незанятые соединения, ожидающие трафика.

Подробнее о пуле соединений Hibernate можно узнать по адресу: https://www.hibernate.org/214.html

Это действительно желательное поведение; для открытия нового соединения может потребоваться немалое количество времени, гораздо больше, чем для отправки запроса по открытому.

«Преждевременная оптимизация - корень всего зла» - если вы не видите проблемы с производительностью, связанной с базой данных, я бы оставил это в покое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...