powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как kill неактивные соединения ?
6 сообщений из 6, страница 1 из 1
как kill неактивные соединения ?
    #34221823
pionersurg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите пожалуйста как можно в Sybase ASE12.5.3 можно отследить коннект, который ничего не делает ?

необходимо периодически прибивать неактивные коннекты, т.к. число соединений ограничено лицензий на ПО, а user некоторые держат лицензию и ничего не делают...
...
Рейтинг: 0 / 0
как kill неактивные соединения ?
    #34221977
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pionersurgподскажите пожалуйста как можно в Sybase ASE12.5.3 можно отследить коннект, который ничего не делает ?

необходимо периодически прибивать неактивные коннекты, т.к. число соединений ограничено лицензий на ПО, а user некоторые держат лицензию и ничего не делают...

брать дельту (разницу) по CPU & IO и при нуле килять :
select spid, suser_name(suid),cpu,physical_io from master..sysprocesses

надо только аккуратно оценить корректное время неактивности пользователей...
...
Рейтинг: 0 / 0
как kill неактивные соединения ?
    #34222051
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pionersurg пишет:

> необходимо периодически прибивать неактивные коннекты, т.к. число
> соединений ограничено лицензий на ПО, а user некоторые держат лицензию и
> ничего не делают...

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

А так - соединение ничего не делает, если у него статус AWAITING COMMAND.
В таком случае его можно убивать. При этом надо быть уверенным, что
оно не держит открытой транзакции, но это никак в принципе не проверить.
Только косвенно по наличию блокировок в master..syslogs.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
как kill неактивные соединения ?
    #34222068
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad пишет:

> брать дельту (разницу) по CPU & IO и при нуле килять :
> select spid, suser_name(suid),cpu,physical_io from master..sysprocesses

Дельту чего с чем ? Я не понял, например. И потом,
CPU & IO сбрасываются периодически, насколько я помню, по окончании транзакции.
И у них будет там по нулям, но это не значит, что соединение ничего не
делает. Да и вообще , по идее, каунтеры эти могут быть по нулям, но соединение
может что-то делать. Например, висеть на аларме (waitfor delay).
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
как kill неактивные соединения ?
    #34222247
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
komrad пишет:

> брать дельту (разницу) по CPU & IO и при нуле килять :
> select spid, suser_name(suid),cpu,physical_io from master..sysprocesses

Дельту чего с чем ? Я не понял, например. И потом,
CPU & IO сбрасываются периодически, насколько я помню, по окончании транзакции.
И у них будет там по нулям, но это не значит, что соединение ничего не
делает. Да и вообще , по идее, каунтеры эти могут быть по нулям, но соединение
может что-то делать. Например, висеть на аларме (waitfor delay).
Posted via ActualForum NNTP Server 1.3

имел ввиду следующее - берутся два среза по sysprocesses и сравниваются значения CPU & IO первого и второго. Если разницы нет, то с большой вероятностью юзер ничего не делал.

ценное уточнение от MasterZiv - обращать внимание на AWAITING COMMAND

MasterZiv
CPU & IO сбрасываются периодически, насколько я помню, по окончании транзакции.

с какой стати? ;)
...
Рейтинг: 0 / 0
как kill неактивные соединения ?
    #34222718
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
имел ввиду следующее - берутся два среза по sysprocesses и сравниваются значения CPU & IO первого и второго. Если разницы нет, то с большой вероятностью юзер ничего не делал.


По моим представлениям эта величина вообще будет прыгать случайно. И судить по ней будет просто не о чем.

На счет того, когда сбрасываются эти счетчики :

cpu int Cumulative CPU time for process in ticks

physical_io int Number of disk reads and writes for current command.

Про physical_io сказано вообще явно , для текущей комманды (оператора SQL).
И кстати, это только physical IO, его вообще может не быть у комманды (будет только
logical IO). Так что это вообще не показатель того, что процесс что-то делает.

Про CPU (когде оно сбрасывается) я не нашел что-то в доках ничего, но
я помню что он не накапливался никогда в соединении. Т.е. он обычно
всегда показывается как что-то около нуля. Ну да это легко проверить - запустить
2- 3 комманды и посмотреть, растет ли CPU.

Да, когда будете убивать, не забудьте отфильтровать системные процессы .... Репликация там, хаускипер и т.п.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как kill неактивные соединения ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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