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

Coldfusion 9 теряет соединение с сервером базы данных MySQL 5 через пару недель после запуска сервера

Мы получаем следующее сообщение об ошибке Coldfusion после того, как наш сервер проработал пару недель:

Ошибка при выполнении запроса к базе данных. Не удалось создать соединение с сервером базы данных. Попытка переподключиться 3 раза

Мы запускаем Coldfusion Enterprise 9 на сервере XServer годичной давности со Snow Leopard и MySQL 5. Сервер имеет около десяти DSN, настроенных в администраторе Coldfusion. Все локальные, с расширенными настройками по умолчанию, и хост установлен на «localhost». нагрузка.

Странно то, что после перезагрузки сервера все работает нормально. Затем примерно через неделю некоторые базы данных перестанут работать в том смысле, что Coldfusion не сможет установить с ними соединение. Если я затем перейду к администратору Coldfusion и нажму «Проверить все источники данных», я получу, что только 2 или 3 были проверены, остальные не прошли, и это всегда одни и те же источники данных, которые не могут быть проверены, когда сервер начинает вести себя так, если я попытаюсь подтвердить еще раз, НО НЕ ОБЯЗАТЕЛЬНЫ те же источники данных, которые не могли быть проверены в последний раз, когда сервер вел себя подобным образом.

Я знаю о настройке «max_connections», и мы включили строку для этой настройки в файл конфигурации MySQL и установили ее на 2000, и когда мы читаем ее по запросу, она говорит «2000», так что это не может быть проблемой .

В mysql_service.log нет никакой полезной информации. Мы также пытались очистить хосты, как я читал на одном форуме, чтобы проверить, не «забанил» ли сервер MySQL нашего пользователя, но безрезультатно.

Кто угодно?

если вы наберете «netstat -an | grep 3306» на сервере mysql, вы увидите много открытых сокетов («ESTABLISHED»), если это больше, чем количество сокетов, настроенных для открытия mysql, значит что-то блокируется и удерживая все дескрипторы пула базы данных.

это может быть проблема в mysql, но более вероятно, что это проблема приложения, не высвобождающего дескрипторы обратно в пул, аналогично утечке памяти.

Без дополнительной информации довольно сложно диагностировать проблему, но я бы начал с этого.