Apache httpd + FreeTDS зависает до перезагрузки
Время от времени запросы поступают на сервер Linux (скажем, linux.example.org), где веб-приложение (Django) извлекает данные из базы данных SQL Server через FreeTDS.
Запросы на другие серверы, указывающие на базу данных, все еще работают, как и запросы на linux.example.org, которые используют локальные базы данных MySQL. Похоже, что затронут только сервер плюс FreeTDS.
Перезапуск httpd снова приводит к корректной работе соединений с базой данных.
Что может вызвать эту проблему?
Использование: Centos 5.9 freetds 0.91 Apache httpd 2.2.3
/etc/obdc.ini:
[DSN]
Description = SQL Server 2005
Driver = FreeTDS
;Database = dbname
Servername = SERVERNAME
;TDS_Version = 8.0
/etc/freetds.conf:
[SERVERNAME]
driver = /usr/lib64/libtdsodbc.so
host = db.example.org
port = 1433
tds version = 8.0
client charset = UTF-8
1 ответ
Вы можете воспроизвести это программно? Я имею в виду, есть тестовый сценарий, который вы можете запустить и получить такое же поведение. Вы регистрировали SQL, который он пытается запустить, когда это происходит? Вы видите какое-либо сообщение об ошибке в журналах? Я бы прикрепил strace к соответствующим процессам, чтобы проверить, что происходит, tcpdump и т. Д.