Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
Понадобился сервис для смежников. Сделал. Работает. Но после обращения к нему остаются множество процессов в состоянии 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 до этого не баловался - а сейчас ни времени ни желания нету. Поэтому сделал область без авторизации, где просто получая запрос проверяю айпишник - отдаю ответ только валидному адресу. Как бы от них избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 07:53 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesov, А TCP соединения закрываются? Может это у клиента проблема какая то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 16:18 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
а что делаете с теми кто не валиден ? как их отпинываете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 16:37 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
logistkolesov, А TCP соединения закрываются? Может это у клиента проблема какая то? Не очень понимаю, как это проверить - netstat выдает (и на гейте и на сервере), множество(как раз штук 500-600) ESTABLISHED соединений tcp. Но это-же вроде связка гейтвея и сервера. Между тем гейтвей показывает максимум 40 подсоединений к серверу. Попытка закрыть * соединения ни к чему видимому не приводит. DAiMor, пишем запрос в лог и ничего не отдаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 01:26 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesov, ну с учетом того что, на запросы к веб-сервису, обычно используется неавторизованная, нехранимая сессия. и на каждый запрос может ответить любой из свободных CSP процессов. То могу предположить что такое количество процессов может образоваться только в случае когда было много одновременных запросов, либо запросы приходили пока другие обрабатывались. а что показывает, портал управления, в списке CSP-сессий, сколько их у вас там и что с тайм-аутом ? и делаете ли вы %session.SessionEnd=1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 10:09 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
Если остаются сессии, то нужно делать две вещи 1. Завершать сессию типа %session.EndSession=1 2. Каждый раз авторизоваться через %session.Login(), причем учитывать, что после 25 соединения на пользователя идет переключение на механизм 1 подключения=1 лицензия, причем из этого режима не выходит даже при уменьшении числа подключений. Но в первом посте написано, что остаются именно процессы. Так что все-таки остается, процессы или сессии/лицензии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 11:41 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
DAiMorkolesov, ну с учетом того что, на запросы к веб-сервису, обычно используется неавторизованная, нехранимая сессия. и на каждый запрос может ответить любой из свободных CSP процессов. То могу предположить что такое количество процессов может образоваться только в случае когда было много одновременных запросов, либо запросы приходили пока другие обрабатывались. а что показывает, портал управления, в списке CSP-сессий, сколько их у вас там и что с тайм-аутом ? и делаете ли вы %session.SessionEnd=1 ? Это вообще не csp-сессии. Более того (как-бы не подвести тут кого ;), веб-сервис, собранный таким образом, не забирает лицензий почему-то. Т.е. совсем не забирает. Правда, у меня там прямо в коде после ответа выставляется микро-таймаут (вместо окончания сессии - когда-то нарывался на проблемы с ендСэшион() - просто ставлю микротаймаут и все) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 15:55 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Так что все-таки остается, процессы или сессии/лицензии? Именно процессы. сессий нет, отобранных лицензий нет. Каждый процесс жрет под 50 метров рамы. Неприятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 15:57 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesovБлок А.Н.Так что все-таки остается, процессы или сессии/лицензии? Именно процессы. сессий нет, отобранных лицензий нет. Каждый процесс жрет под 50 метров рамы. Неприятно. а как насчет того что могло быть большое количество запросов прийти в одно время ? если сессия завершилась, это не означает что процесс тоже должен завершится, он остается для обработки последующих запросов. да и вы уверены что у вас каждый процесс потребляет по 50 Мб памяти, обычно даже если вы поставили такой лимит на процесс то он столько не занимает. да и гейтвей по идее тоже процессы эти не обязан показывать. он то показывает только действующие соединения. а эти процессы "резервные" а вот как сделать чтобы он завершал ставшие ненужными процессы, не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 16:06 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
DAiMor, Кстати да, особенно это будет часто происходить, если сервер тяжело справляется и каждый запрос обрабатывается долго. А потом шлюз оставляет запущенные процессы, так как запуск процесса виндовс само по себе затратное дело. Тогда надо разбираться в настройках шлюза (кстати, то, что настраивается в портале и то, что использует IIS - разные вещи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 16:15 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
DAiMorа как насчет того что могло быть большое количество запросов прийти в одно время Нет - по логу запросов к серверу вполне нормальная активность. Да и количество таких процессов подозрительным образом не переваливает за 600 штук... Сейчас их вообще 150... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 04:58 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesovDAiMorа как насчет того что могло быть большое количество запросов прийти в одно время Нет - по логу запросов к серверу вполне нормальная активность. Да и количество таких процессов подозрительным образом не переваливает за 600 штук... Сейчас их вообще 150... Хм... действительно обнаружил всплески запросов - несколько раз в сутки клиент запрашивает метод сервиса порядка 300 раз в течение минуты-двух. Допускаю, что каждый ответ формируется в пределах секунды-двух. Т.е. получается, что видя необходимость в новых процессах (запросов-типа много) сервер их порождает, и оставляет висеть на памяти. Причем никакое сокращение тайм-аута или уменьшение допустимого количества соединений гейтвея пользы, похоже, не принесут... И процессы эти висят одному ИСу известно сколько времени (но точно довольно долго). Печально как-то это все выглядит - из-за ничтожной активности необходима такая конфигурация сервера, будто его непрерывно долбят запросами - как бы не по Сеньке шапка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 08:53 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
Писал по другому поводу, но может быть и вам подойдёт: Предлагаемое решение На уровне ОС обнаружением разорванных 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. Для более поздних версий она нуждается в проверке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 14:56 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, Похоже, дело не в соединениях. Кто-нить знает, как написать в врц, чтобы Коля Жохов разбирался? Там какие-то хитрые отношения дотнета, на котором их клиент написан, и каше - под дотнетовский клиент выделяется множество процессов, а под мой, написанный на каше - только один. Причем я не могу понять, как веб-сервис вычисляет клиента. Они развязаны на уровне протокола - остается только снифферить пакеты и смотреть разницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 10:23 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesovAlexey Maslov, Похоже, дело не в соединениях. Кто-нить знает, как написать в врц, чтобы Коля Жохов разбирался? Ну там вроде особо и некому заниматься, у нас чаще всего Жохов занимается нашими проблемами, иногда он сам заводит под нас проблему по нашему личному запросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 10:30 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesov, проверьте логи веб-сервера. Возможно, там клиент светит себя сам. Хотя странно, если это как-то влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 10:30 |
|
||
|
После обращения к Web-сервису остаются незавершенные процессы
|
|||
|---|---|---|---|
|
#18+
kolesovКто-нить знает, как написать в врц, чтобы Коля Жохов разбирался? предполагаю, что нужно попробовать текст письма написать на русском, а не на английском ;) 2 года назад мне отвечал именно Николай, русский на тот момент знал только он, поэтому проблему первоначально адресовали ему) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 08:59 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37825366&tid=1557441]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 395ms |

| 0 / 0 |
