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", так что это не может быть проблемой,
There's no useful info in the mysql_service.log We have also tried flushing the hosts, as I read about in one forum, to check if the MySQL server has "banned" our user, without result.
Кто-нибудь?
1 ответ
Если вы наберете "netstat -an | grep 3306" на сервере mysql, увидите ли вы много открытых сокетов ("ESTABLISHED"), если это больше, чем число сокетов, настроенных для открытия mysql, тогда что-то блокируется и держась за все дескрипторы пула базы данных.
это может быть проблемой в mysql, но, скорее всего, это проблема приложения, не освобождающая дескрипторы обратно в пул, подобно утечке памяти.
довольно трудно диагностировать проблему без дополнительной информации, но с этого я и начну.