Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Почему остаются коннекты к серверу?  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
Есть c# сервис, для выполнения операций устанавливает коннект с сервером с параметрами (мин пул=10, макс пул=100), выполняет команду, закрывает соединение и т.д.

Даже после выхода из приложения смотрю в Activity Monitor - торчат 10 соединений от этого юзера и с этого хоста.
Это и есть эффект использования пула?

Когда сервер закрывает окончательно эти соединения? Какой критерий?
4 янв 18, 12:24    [21081437]     Ответить | Цитировать Сообщить модератору
 Re: Почему остаются коннекты к серверу?  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Есть c# сервис,
Вы знакомы с исх.кодом сервера, чтобы так смело утверждать про "закрывает соединение" ?
4 янв 18, 12:49    [21081475]     Ответить | Цитировать Сообщить модератору
 Re: Почему остаются коннекты к серверу?  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
256k
Есть c# сервис, для выполнения операций устанавливает коннект с сервером с параметрами (мин пул=10, макс пул=100), выполняет команду, закрывает соединение и т.д.

Даже после выхода из приложения смотрю в Activity Monitor - торчат 10 соединений от этого юзера и с этого хоста.
Это и есть эффект использования пула?

Когда сервер закрывает окончательно эти соединения? Какой критерий?

Сервис на C# может открывать минимальный пул в 10 соединений и не закрывать никогда. Если от клиента поступил запрос на выдачу данных, то сервис пользуется одним из 10 соединений. Если клиентов например 11 - открывает 11-е соединение, обслуживает клиентов и закрывает 11-е, оставляя 10 в режиме "готовности ноль".
Так что "закрывает соединение" - это между клиентом и сервисом c#, а вовсе не между сервисом c# и сервером MSSQL.

И смотреть открытие сессий нужно по SQL Profiler, там Вы сразу увидите открытие и 10-ти изначальных, и 11-го и 12-го и так далеее соединения по необходимости.
4 янв 18, 13:31    [21081548]     Ответить | Цитировать Сообщить модератору
 Re: Почему остаются коннекты к серверу?  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
LSV
Есть c# сервис,
Вы знакомы с исх.кодом сервера, чтобы так смело утверждать про "закрывает соединение" ?


вы что-то путаете, я написал об окне Activity Monitor в SSMS или запросе типа sp_who
4 янв 18, 13:36    [21081556]     Ответить | Цитировать Сообщить модератору
 Re: Почему остаются коннекты к серверу?  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
Andy_OLAP
256k
Есть c# сервис, для выполнения операций устанавливает коннект с сервером с параметрами (мин пул=10, макс пул=100), выполняет команду, закрывает соединение и т.д.

Даже после выхода из приложения смотрю в Activity Monitor - торчат 10 соединений от этого юзера и с этого хоста.
Это и есть эффект использования пула?

Когда сервер закрывает окончательно эти соединения? Какой критерий?

Сервис на C# может открывать минимальный пул в 10 соединений и не закрывать никогда. Если от клиента поступил запрос на выдачу данных, то сервис пользуется одним из 10 соединений. Если клиентов например 11 - открывает 11-е соединение, обслуживает клиентов и закрывает 11-е, оставляя 10 в режиме "готовности ноль".
Так что "закрывает соединение" - это между клиентом и сервисом c#, а вовсе не между сервисом c# и сервером MSSQL.

И смотреть открытие сессий нужно по SQL Profiler, там Вы сразу увидите открытие и 10-ти изначальных, и 11-го и 12-го и так далеее соединения по необходимости.


Проверил так:
1. в отладчике в своем сервисе убедился, что коннект закрывается после выполнения команды
2. рефрешнул Activity Monitor в SSMS - остались те же коннекты

1. завершил приложение/остановил сервис
2 то же.

Но через 10-15 минут Activity Monitor уже не показывает эти коннекты.
4 янв 18, 13:39    [21081564]     Ответить | Цитировать Сообщить модератору
 Re: Почему остаются коннекты к серверу?  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
256k
Но через 10-15 минут Activity Monitor уже не показывает эти коннекты.

Брент Озар давно всех призывает не верить монитору.
И соединения не закрываются, а возвращаются в пул.
4 янв 18, 13:44    [21081574]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить