Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Обрыв сети и потеря процесса (ASE 12.5) / 15 сообщений из 15, страница 1 из 1
08.01.2009, 12:07
    #35747306
_makSim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
Происходит обрыв сети между клиентом и сервером, клиентское приложение функционально не может восстановить connect либо связь потеряна надолго => получаем "мертвый" процесс, который нужно закрывать (kill). В процессе может висеть открытая транзакция. Как с этим правильно бороться? Спасибо!
...
Рейтинг: 0 / 0
08.01.2009, 13:22
    #35747358
cherrex_Den
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
На сколько я понимаю(пусть "гуру" меня поправят), сервер сам следит за коннектом к себе, и если он(сервер) "чувствует" что коннект безвозвратно потерян, сам чистит процессы и разбирается с транзакциями. Хотя могу и ошибаться!
...
Рейтинг: 0 / 0
08.01.2009, 13:29
    #35747367
_makSim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
По умолчанию так не происходит. Возможно есть какие-то параметры timeout'ов. Я пока не нашел.
...
Рейтинг: 0 / 0
08.01.2009, 16:30
    #35747598
Vitafresh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
По-моему, этот таймаут отслеживается не SQL сервером, а операционной системой. Соответственно, нужно править параметры настройки ОС (напр., на винде KeepAliveTime)
...
Рейтинг: 0 / 0
08.01.2009, 17:26
    #35747678
cherrex_Den
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
У меня была следующая ситуация: Я из дома, через VPN подключаюсь к сети организации, мне выдается кокой-нибудь IP-шник и потом я подключаюсь к ASE. Сразу скажу, что я не спец в VPN и сетевых технологиях! Потом где-то между мной и организацией происходит обрыв, и получается, что коннект к ASE остается с IP-шника выданного мне уже внутри локальной сети организации. Вот тогда у меня и возникает процесс-фантом. Но здесь я думаю дело не в ASE в настройке VPN или другого сетевого оборудования. Может и у вас дело совсем не в ASE?
...
Рейтинг: 0 / 0
08.01.2009, 18:01
    #35747730
0rc
0rc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
Vitafreshна винде KeepAliveTime
вообще-то это в любой ОС
по умолчанию - 2 часа (7200 секунд или 7200000 милисекунд)
правится в параметрах ядра (ndd под HPUX/SUN или sysctl под linux)
...
Рейтинг: 0 / 0
08.01.2009, 18:42
    #35747789
_makSim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
Протестировал установку данного параметра на рабочей машине (WinXP).
Параметра не было, добавил:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"KeepAliveTime"

Помогло! Процесс исчезает через заданное кол-во милисекунд.

Остаётся вопрос в том, на сколько это правильно и безопасно.
Возможно, есть другие способы.

Посмотрел один сервер (Win 2003 Server) и также не нашёл такого параметра, т.е. он дополнительный...
...
Рейтинг: 0 / 0
08.01.2009, 20:14
    #35747875
Vitafresh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
_makSim , вполне правильно и безопасно. Если параметр не сконфигурирован вручную, то просто используется значение по умолчанию -- 2 часа, о чем написал 0rc .

см. также http://technet.microsoft.com/en-us/library/cc782936.aspx :
Microsoft Note:
Windows Server 2003 does not add this entry to the registry. You can add it by using the registry editor Regedit.exe.
P.S. У меня сначала на виндовом, а теперь на линуксовых серверах выставлен таймаут 5 минут.
...
Рейтинг: 0 / 0
16.01.2009, 15:56
    #35761804
YVG19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
Подскажите, уважаемые, как можно сделать timeout коннектов для различных клиентов разный? Например что бы неработающие юзера обрывались через 15 минут, а подключенный к БД сервер не терял связь...
...
Рейтинг: 0 / 0
16.01.2009, 16:09
    #35761847
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
YVG19Подскажите, уважаемые, как можно сделать timeout коннектов для различных клиентов разный? Например что бы неработающие юзера обрывались через 15 минут, а подключенный к БД сервер не терял связь...

напишите скрипт по обнаружению "ленивых" пользователей, гоняйте его раз в минуту и дропайте (kill) обнаруженных
...
Рейтинг: 0 / 0
16.01.2009, 17:23
    #35762063
cherrex_Den
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
А как скриптом определить "ленивый" процесс?
...
Рейтинг: 0 / 0
16.01.2009, 19:35
    #35762300
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
cherrex_DenА как скриптом определить "ленивый" процесс?
а это я под вечер спутал с сиквелом ... там есть поле в sysprocesses - lastbatch

хотя, можно что-нить сообразить с использованием мониторной таблицы monProcess и полей SecondsWaiting, WaitEventID & SecondsConnected

имхо
...
Рейтинг: 0 / 0
16.01.2009, 20:34
    #35762363
cherrex_Den
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
Это интересный вопрос! Будем обсуждать здесь, или откроем новую ветку?
...
Рейтинг: 0 / 0
17.01.2009, 19:31
    #35763007
Vitafresh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
YVG19Подскажите, уважаемые, как можно сделать timeout коннектов для различных клиентов разный? Например что бы неработающие юзера обрывались через 15 минут, а подключенный к БД сервер не терял связь...
А, если не секрет, зачем делать, чтобы неработающие юзеры обрывались через 15 минут?
...
Рейтинг: 0 / 0
17.01.2009, 22:56
    #35763125
blzz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обрыв сети и потеря процесса (ASE 12.5)
YVG19Подскажите, уважаемые, как можно сделать timeout коннектов для различных клиентов разный? Например что бы неработающие юзера обрывались через 15 минут, а подключенный к БД сервер не терял связь...
если вы думете, что поставив keepalive на 15 минут, бездействующий клиент будет пристрелен на ASE через 15 мин - вы ошибаетесь.
через 15 минут будет проверка связи - существует ли еще tcp-соедиение или нет, если клиент будет висеть на сервере, даже бездействуя - tcp-соедиение обменяется парочкой пакетов и будет подтверждено, этим занимается операционка, клиент ничего не почувстует.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Обрыв сети и потеря процесса (ASE 12.5) / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]