Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Сессии-зомби или Кошмары админа наяву / 14 сообщений из 14, страница 1 из 1
15.08.2006, 17:38
    #33919679
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Возникает следующая ситуация
1) Клиент вешается
2) Пользователь убивает уже повешенного клиента вплоть до жестокого "Power Off-On"
3) Сервер почему-то НЕ ЗНАЕТ о смерти клиента - и разрешает жить сессии
4) Если сессия при этом находится в транзакции да и ещё чего-то изменяла в БД - получаем жалобы пользователей на невозможность РАБОТЫ! ("Ужас то какой") с заблокированными записями
5) Админ лично, засучив рукава, onmode'ом -z добивает бедолагу-сессию

Спрашивается: знает ли кто-то
1) Лекарство
2) Ссылки на доку про механизм слежения сервером за живчиками-клиентами

П.С.:
1) Спасибо заранее
2) С фактами "подвешивания" клиентов боремся - но интерес к теме остаётся :)
...
Рейтинг: 0 / 0
15.08.2006, 17:41
    #33919685
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Извините, забыл добавить
1) СУБД: IDS 7.31 UD8
2) ОС: Linux 2.4.31 Debian GNU 3.0
3) параметр keep-alive не трогали - то есть по умолчанию должен быть k=1
...
Рейтинг: 0 / 0
16.08.2006, 08:57
    #33920437
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Как странно ... обычно если 2-х звенное приложение то это поведение настраивается с помощью опции keep alive в файле sqlhosts сервера.
У вас случайно не трехзвенка?
...
Рейтинг: 0 / 0
16.08.2006, 09:24
    #33920487
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Andron...
У вас случайно не трехзвенка?А в трехзвенке иформикс как-то по другому настраивается? keep-alive там не работает?
...
Рейтинг: 0 / 0
16.08.2006, 09:45
    #33920537
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Нет, в трехзвенке может быть баг в среднем звене, когда клиент от сервера приложений отсоединился, а сессия от сервера приложений к СУБД продолжает существовать.
...
Рейтинг: 0 / 0
16.08.2006, 10:31
    #33920694
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
AndronКак странно ... обычно если 2-х звенное приложение то это поведение настраивается с помощью опции keep alive в файле sqlhosts сервера.
У вас случайно не трехзвенка?
У нас нарочно не трёхзвенка :)
АнатоЛой3) параметр keep-alive не трогали

в том числе и в sqlhost он не указан...
АнатоЛойто есть по умолчанию должен быть k=1

да, кстати, может тоже имеет значение:
в sqlhost:
sqlhost
ol_server onsoctcp server turbo
ol_server onipcshm server turbo
...
Рейтинг: 0 / 0
16.08.2006, 10:40
    #33920727
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
А сколько времени проходит между убиванием пользователем клиента и сессии -- много или мало?
чего показывает onstat -g ntt по зомби соед-ю?
...
Рейтинг: 0 / 0
16.08.2006, 17:44
    #33922842
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Журавлев ДенисА сколько времени проходит между убиванием пользователем клиента и сессии -- много или мало?
От 5-ти минут и больше...
Журавлев Денисчего показывает onstat -g ntt по зомби соед-ю?
Ещё раз поймаем :( - обязательно сообщим :)
...
Рейтинг: 0 / 0
16.08.2006, 17:54
    #33922880
Тан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
sqlhost
ol_server onsoctcp server turbo
ol_server onipcshm server turbo

а зачем вам в sqlhosts две строки для одного сервера?
...
Рейтинг: 0 / 0
17.08.2006, 19:26
    #33926149
svat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Тан sqlhost
ol_server onsoctcp server turbo
ol_server onipcshm server turbo

а зачем вам в sqlhosts две строки для одного сервера?

Первая строка - для подключений пользователей по сети.
Под вторую внятно теоретическую базу подвести не могу, но практика показывала (давно было, подробостей - увы), что без нее тоже что-то не работало...
...
Рейтинг: 0 / 0
18.08.2006, 09:16
    #33926747
Тан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
svat2 Тан sqlhost
ol_server onsoctcp server turbo
ol_server onipcshm server turbo

а зачем вам в sqlhosts две строки для одного сервера?

Первая строка - для подключений пользователей по сети.
Под вторую внятно теоретическую базу подвести не могу, но практика показывала (давно было, подробостей - увы), что без нее тоже что-то не работало...
покажите onstat -g seg
...
Рейтинг: 0 / 0
18.08.2006, 10:27
    #33926977
Сессии-зомби или Кошмары админа наяву
А какое время выставлено в настройах?

"Т.е. время через которое соединение будет при этом разрываться и Informix будет освобождать его ресурсы, зависит от настройки операционной системы"

http://www.sql.ru/forum/actualthread.aspx?tid=43020&hl=keep+alive
...
Рейтинг: 0 / 0
18.08.2006, 11:14
    #33927164
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Александр ФедоренкоА какое время выставлено в настройах?

"Т.е. время через которое соединение будет при этом разрываться и Informix будет освобождать его ресурсы, зависит от настройки операционной системы"

http://www.sql.ru/forum/actualthread.aspx?tid=43020&hl=keep+alive
Вот оно! :) Разобрались!
Настройки были стандартные для Linux


http://www.penguin-soft.com/penguin/man/7/tcp.htmlThese variables can be accessed by the /proc/sys/net/ipv4/* files or with the sysctl(2) interface. In addition, most IP sysctls also apply to TCP; see ip(7) .

tcp_keepalive_intvl
The number of seconds between TCP keep-alive probes. The default value is 75 seconds.

tcp_keepalive_probes
The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end. The default value is 9.

tcp_keepalive_time
The number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes. Keep-alives are only sent when the SO_KEEPALIVE socket option is enabled. The default value is 7200 seconds (2 hours). An idle connection is terminated after approximately an additional 11 minutes (9 probes an interval of 75 seconds apart) when keep-alive is enabled.

Note that underlying connection tracking mechanisms and application timeouts may be much shorter.

Самый главный Вывод - в последнем абзаце цитаты :( :)
Всем спасибо!
...
Рейтинг: 0 / 0
18.08.2006, 11:47
    #33927357
svat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессии-зомби или Кошмары админа наяву
Тан
покажите onstat -g seg

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
# onstat -g seg

IBM Informix Dynamic Server Version  7 . 31 .UD8     -- On-Line (Prim) -- Up 9 days 17:09:25 -- 1739288 Kbytes

Segment Summary:
id       key        addr     size       ovhd     class blkused  blkfree
 106725387   1381451777   50000000   974594048    34612     R*     118964     5 
 106758156   1381451778  8a172000  805306368    12932     V      41728      56576 
 106790929   1381451779  ba172000  1130496      664       M      132        6 
Total:   -          -         1781030912  -        -      160824     56587 

   (* segment locked in memory)
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Сессии-зомби или Кошмары админа наяву / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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