|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Здравствуйте, прошу помощи ) Конфигурация такая Ubuntu 13.10/3.11.0-26/Firebird 1.5.6 На сервере одна база данных, подключение происходит из клиента под Windows. Проблема в том, что если оставить клиента на 20-30 минут без активности, то соединение обрывается при этом в firebird.log появляется строка Код: plaintext 1.
Читал вот эту статью, пробовал разные значения, ничего не меняется. Сейчас значения такие: Код: plaintext 1. 2. 3. 4. 5. 6.
В firebird.conf выставлен ConnectionTimeout = 300, а DummyPacketInterval закомментирован. Мониторю трафик до и от сервера через WireShark, но keepalive-пакетов там не ходит совсем, ssh-подключение не отваливается, пинги тоже идут без потерь, проблема только с Firebird. Благодарю за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 08:19 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
chebyrek, говорят, что Windows сама снимает соединение, если оно долго не используется. Я когда-то (еще на FB 1.0) решал "проблему" в лоб: по таймеру, раз в 5 минут делал запросы к серверу, что-то вроде select 1 from rdb$database. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 08:26 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Говорят, Дело в том, что у меня нет исходников клиента, а связь с разработчиками утеряна еще до того как я пришел на это место, программа где-то 2005-2006 года выпуска. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 08:31 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Написать обертку над gds32, которая будет "пинговать"? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:05 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
wadman, оу, тут я не мастер ) Если поделитесь ссылкой на что-то похожее, я попробую ) Сейчас заметил, что если одновременно запустить несколько клиентов и работать только в одном, то остальные отвалятся, а то в котором работаешь - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:19 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
wadmanНаписать обертку над gds32, которая будет "пинговать"? :) Как ты контекст tcp коннекта получишь? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:23 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
wadman, И вот еще, у меня есть еще один самописный "клиент" к этой базе, он каждые 2 минуты забирает из базы данные, пишет их в csv и пересылает на другой сервер, он запущен на той же машине вместе с обычным клиентом. И он не отваливается. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:24 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
chebyrekwadman, И вот еще, у меня есть еще один самописный "клиент" к этой базе, он каждые 2 минуты забирает из базы данные, пишет их в csv и пересылает на другой сервер, он запущен на той же машине вместе с обычным клиентом. И он не отваливается. Потому что авторон каждые 2 минуты ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:26 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Как ты, ведмедьwadmanНаписать обертку над gds32, которая будет "пинговать"? :) Как ты контекст tcp коннекта получишь? Зачем? Обертка - это такая штука, которая через себя пропускает весь функционал gds32, вызывая оригинальную dll. chebyrekЕсли поделитесь ссылкой на что-то похожее, я попробую ) Проблемно... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:41 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
А нельзя ли просто клиентскую библиотеку заменить на более новую? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 09:46 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Говорятchebyrek, говорят, что Windows сама снимает соединение, если оно долго не используется. Я когда-то (еще на FB 1.0) решал "проблему" в лоб: по таймеру, раз в 5 минут делал запросы к серверу, что-то вроде select 1 from rdb$database. Это слишком сложно. Достаточно "периодически" запрашивать информацию о сервере/базе данных через isc_database_info. Что то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Клиентская библиотека не кэширует эту информацию, так что в результате на сервер уходит пакет и от него приходит ответ. Можно вообще ничего не запрашивать, а передать "пустой" список db_items - {isc_api::ibp_isc_info_end}; Тоже пока работает. --- Кстати периодическое дерганье сервера это не только три-четыре килограмма в случае FB2.1+ помогает проталкивать на сервер отложенные пакеты и устраняет адские тормоза с очисткой массива этих отложенных пакетов. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 10:29 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, Как я понял, обрывание связи это стандартное поведение сервера firebird и никак от него не избавиться, если нет возможности поправить код клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 10:35 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
chebyrekКоваленко Дмитрий, Как я понял, обрывание связи это стандартное поведение сервера firebird и никак от него не избавиться, если нет возможности поправить код клиента? 18962066 - ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 10:36 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
А нельзя ли просто, в смысле скачать более новый gds32.dll? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 10:38 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
?????, я сейчас скачал firebird-2.5, взял из него fbclient.dll, переименовал в gds32.dll и положил в папку с клиентом. Ничего не изменилось, даже быстрее отвалилось ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 10:43 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Говорятговорят, что Windows сама снимает соединение, если оно долго не используется. Нагло врут. Ни Windows ни клиент Firebird этого не делают. Это работа какого-то софта или железа на пути. Наиболее известны таким поведением Comodo Firewall, NOD32, Cisco. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 11:58 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovГоворятговорят, что Windows сама снимает соединение, если оно долго не используется. Нагло врут. Ни Windows ни клиент Firebird этого не делают. Это работа какого-то софта или железа на пути. Наиболее известны таким поведением Comodo Firewall, NOD32, Cisco. Что это меняет? Что-то "снимает соединение". Куда проще "пинговать" связь, чем искать очередного "зловреда". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 12:06 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Что это меняетКуда проще "пинговать" связь, чем искать очередного "зловреда". Без исходников приложения пинговать ты будешь как?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 12:16 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
chebyrek, А и правда. На машине с виндой антивирь есть? Отключить для теста на время пробовали? Между клиентом и сервером что-то кроме свичей есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 13:26 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
miwaonlineМежду клиентом и сервером что-то кроме свичей есть? Ставлю на WiFi роутер. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 13:33 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, inject dll во все процессы если процесс - нужный, то активируемся и обшариваем открытые порты если находим 3050 - запускаем фоновый поток idle-приоритета и из него периодически туда какую-нибудь пустышку в wire protocol пихаем. геморрой конечно, но в принципе и без исходников можно ...а если из gds32.dll можно хэндл коннекта выташить... а ведь можно! - перехватываем какой-нибудь вызов isc_..., ждём пока приложение его вызовет и вытаскиваем из параметров хендл, после чего запускаем фоновый поток и т.д.... PS. если программа в процессе работы может закрывать/переоткрывать соединения или того паче выгружать и заново загружать клиента - то потребуется и на это заложиться. Но большинство программ так не делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 14:46 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Я таки сделал обертку. Жаль, IBExpert нормально с ней живет ровно до детача. Из плюсов: теперь можно видеть всё, что делает программа с сервером и даже старому приложению (которое только с gds32 умеет) можно указывать, что и откуда грузить. Осталось прикрутить механизм пинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:33 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
Arioch, не понимаю, зачем такие страшные фантазии. разве что для развития собственного интеллекта. но так это никуда не годится - из фонового процесса ты никогда не поймешь, решит в следующую секунду основной процесс дернуть коннект, или нет. А следовательно, это все - карточный домик. Так что, если и можно такое сделать, то только подменой клиентской части, типа прокси, между приложением и настоящей клиентской частью. Теоретически может такое кто-то и делал, только я об этом не слышал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:33 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
wadmanЯ таки сделал обертку. гигант! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:34 |
|
Отваливается соединение
|
|||
---|---|---|---|
#18+
авторА и правда. На машине с виндой антивирь есть? Отключить для теста на время пробовали? Между клиентом и сервером что-то кроме свичей есть? miwaonlineМежду клиентом и сервером что-то кроме свичей есть? Ставлю на WiFi роутер. Сервер этот виртуальный,находится в датацентре, так что между мной и сервером много чего быть может. Если говорить об оборудовании с моей стороны, то в данный момент подо мной машинка с Windows 7, ходит в интернет напрямую через циску, без прокси, шлюзов и т.п, антивирус отключен. В остальных офисах, компьютеры с windows 8.1, выходят в интернет через Wi-fi роутеры, так же без прокси и шлюзов, антивирус только встроенный в Windows. Вот и не смотря на то, что железки везде разные, проблема одна и время, через которое происходит обрыв примерно одно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 03:11 |
|
|
start [/forum/topic.php?fid=40&msg=39197616&tid=1562278]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 177ms |
0 / 0 |