Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / После обращения к Web-сервису остаются незавершенные процессы / 17 сообщений из 17, страница 1 из 1
01.06.2012, 07:53
    #37820760
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
Понадобился сервис для смежников. Сделал. Работает.

Но после обращения к нему остаются множество процессов в состоянии READ вида:

Process Priority: 7
Global References: 508
Commands Executed: 4335
Memory Limit: 49408
Memory In Use: 161
Current Device: |TCP|1972|12996
Open Devices: |TCP|1972|12996*,//./nul
Lock:
Process State: READ
In Transaction: 0
Last Global Reference: ||%xmlTemp
Routine: %SYS.cspServer2
Location:
Source Location: +70^%SYS.cspServer2
Source Line:
EXE Name: CspMs.dll

Вот сейчас их 588, к примеру.

Вроде и кушать не просят - вроде количество в окрестности 600 гуляет при дальнейшем увеличении количества запросов.
Но глаз мозолят, честно говоря. Да и чего от них дальше ждать, непонятно...

М.б. как-то повлияло то, посредством http клиенты авторизоваться не умеют (х.з. почему дотнет этого не разрешает, да и пусть себе). C ws-security до этого не баловался - а сейчас ни времени ни желания нету. Поэтому сделал область без авторизации, где просто получая запрос проверяю айпишник - отдаю ответ только валидному адресу.

Как бы от них избавиться?
...
Рейтинг: 0 / 0
04.06.2012, 16:18
    #37824531
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesov,

А TCP соединения закрываются? Может это у клиента проблема какая то?
...
Рейтинг: 0 / 0
04.06.2012, 16:37
    #37824578
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
а что делаете с теми кто не валиден ?
как их отпинываете ?
...
Рейтинг: 0 / 0
05.06.2012, 01:26
    #37825145
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
logistkolesov,

А TCP соединения закрываются? Может это у клиента проблема какая то?
Не очень понимаю, как это проверить - netstat выдает (и на гейте и на сервере), множество(как раз штук 500-600) ESTABLISHED соединений tcp. Но это-же вроде связка гейтвея и сервера.
Между тем гейтвей показывает максимум 40 подсоединений к серверу. Попытка закрыть * соединения ни к чему видимому не приводит.

DAiMor, пишем запрос в лог и ничего не отдаем.
...
Рейтинг: 0 / 0
05.06.2012, 10:09
    #37825366
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesov,

ну с учетом того что, на запросы к веб-сервису, обычно используется неавторизованная, нехранимая сессия.
и на каждый запрос может ответить любой из свободных CSP процессов. То могу предположить что такое количество процессов может образоваться только в случае когда было много одновременных запросов, либо запросы приходили пока другие обрабатывались.

а что показывает, портал управления, в списке CSP-сессий, сколько их у вас там и что с тайм-аутом ?
и делаете ли вы %session.SessionEnd=1 ?
...
Рейтинг: 0 / 0
05.06.2012, 11:41
    #37825571
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
Если остаются сессии, то нужно делать две вещи
1. Завершать сессию типа %session.EndSession=1
2. Каждый раз авторизоваться через %session.Login(), причем учитывать, что после 25 соединения на пользователя идет переключение на механизм 1 подключения=1 лицензия, причем из этого режима не выходит даже при уменьшении числа подключений.

Но в первом посте написано, что остаются именно процессы. Так что все-таки остается, процессы или сессии/лицензии?
...
Рейтинг: 0 / 0
05.06.2012, 15:55
    #37826203
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
DAiMorkolesov,

ну с учетом того что, на запросы к веб-сервису, обычно используется неавторизованная, нехранимая сессия.
и на каждый запрос может ответить любой из свободных CSP процессов. То могу предположить что такое количество процессов может образоваться только в случае когда было много одновременных запросов, либо запросы приходили пока другие обрабатывались.

а что показывает, портал управления, в списке CSP-сессий, сколько их у вас там и что с тайм-аутом ?
и делаете ли вы %session.SessionEnd=1 ?

Это вообще не csp-сессии. Более того (как-бы не подвести тут кого ;), веб-сервис, собранный таким образом, не забирает лицензий почему-то. Т.е. совсем не забирает. Правда, у меня там прямо в коде после ответа выставляется микро-таймаут (вместо окончания сессии - когда-то нарывался на проблемы с ендСэшион() - просто ставлю микротаймаут и все)
...
Рейтинг: 0 / 0
05.06.2012, 15:57
    #37826208
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
Блок А.Н.Так что все-таки остается, процессы или сессии/лицензии?
Именно процессы. сессий нет, отобранных лицензий нет.
Каждый процесс жрет под 50 метров рамы. Неприятно.
...
Рейтинг: 0 / 0
05.06.2012, 16:06
    #37826228
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesovБлок А.Н.Так что все-таки остается, процессы или сессии/лицензии?
Именно процессы. сессий нет, отобранных лицензий нет.
Каждый процесс жрет под 50 метров рамы. Неприятно.
а как насчет того что могло быть большое количество запросов прийти в одно время ?
если сессия завершилась, это не означает что процесс тоже должен завершится, он остается для обработки последующих запросов. да и вы уверены что у вас каждый процесс потребляет по 50 Мб памяти, обычно даже если вы поставили такой лимит на процесс то он столько не занимает.
да и гейтвей по идее тоже процессы эти не обязан показывать. он то показывает только действующие соединения.
а эти процессы "резервные"
а вот как сделать чтобы он завершал ставшие ненужными процессы, не знаю.
...
Рейтинг: 0 / 0
05.06.2012, 16:15
    #37826254
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
DAiMor,

Кстати да, особенно это будет часто происходить, если сервер тяжело справляется и каждый запрос обрабатывается долго.
А потом шлюз оставляет запущенные процессы, так как запуск процесса виндовс само по себе затратное дело.
Тогда надо разбираться в настройках шлюза (кстати, то, что настраивается в портале и то, что использует IIS - разные вещи).
...
Рейтинг: 0 / 0
06.06.2012, 04:58
    #37826926
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
DAiMorа как насчет того что могло быть большое количество запросов прийти в одно время
Нет - по логу запросов к серверу вполне нормальная активность. Да и количество таких процессов подозрительным образом не переваливает за 600 штук... Сейчас их вообще 150...
...
Рейтинг: 0 / 0
18.06.2012, 08:53
    #37842154
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesovDAiMorа как насчет того что могло быть большое количество запросов прийти в одно время
Нет - по логу запросов к серверу вполне нормальная активность. Да и количество таких процессов подозрительным образом не переваливает за 600 штук... Сейчас их вообще 150...
Хм... действительно обнаружил всплески запросов - несколько раз в сутки клиент запрашивает метод сервиса порядка 300 раз в течение минуты-двух. Допускаю, что каждый ответ формируется в пределах секунды-двух.
Т.е. получается, что видя необходимость в новых процессах (запросов-типа много) сервер их порождает, и оставляет висеть на памяти.
Причем никакое сокращение тайм-аута или уменьшение допустимого количества соединений гейтвея пользы, похоже, не принесут... И процессы эти висят одному ИСу известно сколько времени (но точно довольно долго).
Печально как-то это все выглядит - из-за ничтожной активности необходима такая конфигурация сервера, будто его непрерывно долбят запросами - как бы не по Сеньке шапка...
...
Рейтинг: 0 / 0
18.06.2012, 14:56
    #37842762
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
Писал по другому поводу, но может быть и вам подойдёт:

Предлагаемое решение
На уровне ОС обнаружением разорванных TCP-соединений управляют следующие параметры ядра:
tcp_keepalive_time
- интервал времени (в секундах) с момента отправки последнего пакета с данными; по истечении этого интервала соединение помечается как требующее проверки; после начала проверки параметр не используется;

tcp_keepalive_intvl
- интервал между проверочными пакетами (отправка которых начинается по истечении tcp_keepalive_time);

tcp_keepalive_probes
- количество неподтвержденных проверочных пакетов; по исчерпании этого счетчика соединение считается разорванным.

Для того, чтобы механизм tcp_keepalive был задействован для TCP-соединений, необходимы два условия:

Поддержка на уровне ОС; к счастью, и в Windows, и в Linux она имеется.

На одном из концов соединения сокет должен быть открыт с параметром SO_KEEPALIVE. Как оказалось, сервисы Cache открывают сокеты с этим параметром, а сервис SSH несложно заставить поступать аналогично.
Наибольший интерес для нас представляет первый параметр (tcp_keepalive_time), так как именно от него зависит, насколько часто будет выполняться проверка неактивных (с точки зрения отсутствия трафика) соединений. Его значение по умолчанию - и в Windows, и в Linux - равно двум часам (7200 с). Типичное же время неактивности, после которого наступает разрыв, составляет около 10 минут. Поэтому предлагается установить значение параметра в 5 минут, что позволит искусственно поддерживать активность TCP-сеансов, не перегружая сеть избыточным трафиком (5 минут - это не 5 секунд).

Установка параметра tcp_keepalive_time на сервере Windows
Вы должны обладать правами Администратора к серверу. В разделе реестра
Мой компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
создайте параметр DWORD с именем KeepAliveTime и значением 300 (десятитичным). После чего остановите Cache и перезагрузите сервер. Мне удалось найти эти сведения в информационных бюллетенях Microsoft по Windows 2000 / XP / 2003, а также для Windows Vista и 2008. Для более поздних версий она нуждается в проверке.
...
Рейтинг: 0 / 0
25.06.2012, 10:23
    #37852850
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
Alexey Maslov,

Похоже, дело не в соединениях.

Кто-нить знает, как написать в врц, чтобы Коля Жохов разбирался?

Там какие-то хитрые отношения дотнета, на котором их клиент написан, и каше - под дотнетовский клиент выделяется множество процессов, а под мой, написанный на каше - только один. Причем я не могу понять, как веб-сервис вычисляет клиента. Они развязаны на уровне протокола - остается только снифферить пакеты и смотреть разницу?
...
Рейтинг: 0 / 0
25.06.2012, 10:30
    #37852861
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesovAlexey Maslov,

Похоже, дело не в соединениях.

Кто-нить знает, как написать в врц, чтобы Коля Жохов разбирался?

Ну там вроде особо и некому заниматься, у нас чаще всего Жохов занимается нашими проблемами, иногда он сам заводит под нас проблему по нашему личному запросу.
...
Рейтинг: 0 / 0
25.06.2012, 10:30
    #37852862
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesov,

проверьте логи веб-сервера. Возможно, там клиент светит себя сам. Хотя странно, если это как-то влияет.
...
Рейтинг: 0 / 0
26.06.2012, 08:59
    #37854314
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После обращения к Web-сервису остаются незавершенные процессы
kolesovКто-нить знает, как написать в врц, чтобы Коля Жохов разбирался?


предполагаю, что нужно попробовать текст письма написать на русском, а не на английском ;)
2 года назад мне отвечал именно Николай, русский на тот момент знал только он, поэтому проблему первоначально адресовали ему)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / После обращения к Web-сервису остаются незавершенные процессы / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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