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

Откуда:
Сообщений: 403
Пользователь запустил некую длительную обработку данных. При этом вижу от него запрос в состоянии sleeping. Почему? Что это может быть?
4 дек 19, 16:11    [22032228]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
leonix,

причин может быть много. sleeping видите в каком представлении?
4 дек 19, 16:16    [22032234]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
leonix
Member

Откуда:
Сообщений: 403
felix_ff
leonix,

причин может быть много. sleeping видите в каком представлении?


Процедурой смотрю [sp_WhoIsActive]
4 дек 19, 16:20    [22032244]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
leonix,

смотрить почему слипинг надо в колонке waittype
4 дек 19, 16:22    [22032250]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
WarAnt
leonix,

смотрить почему слипинг надо в колонке waittype

это у runnable waittype.
а sleeping уже все отработал и ушел спать
4 дек 19, 16:29    [22032268]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30824
leonix
При этом вижу от него запрос в состоянии sleeping.
Не запрос в состоянии sleeping, а коннект.
Всё завершилось, сервер ожидает новых команд.
4 дек 19, 16:34    [22032281]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
leonix
Member

Откуда:
Сообщений: 403
WarAnt
leonix,

смотрить почему слипинг надо в колонке waittype



	 sp_WhoIsActive @output_column_list= '[wait%]'


В строке с sleeping выдает NULL
4 дек 19, 16:35    [22032284]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30824
leonix
WarAnt
leonix,

смотрить почему слипинг надо в колонке waittype



	 sp_WhoIsActive @output_column_list= '[wait%]'



В строке с sleeping выдает NULL
Конечно, какой wait может быть, если слипинг?
4 дек 19, 16:37    [22032286]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
leonix
Member

Откуда:
Сообщений: 403
alexeyvg
leonix
При этом вижу от него запрос в состоянии sleeping.
Не запрос в состоянии sleeping, а коннект.
Всё завершилось, сервер ожидает новых команд.


Запрос отработал. Сервер передал данные клиенту. Клинт их обрабатывает. Просто клиент не закрыл коннект?

Сообщение было отредактировано: 4 дек 19, 16:39
4 дек 19, 16:39    [22032287]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30824
leonix
alexeyvg
Не запрос в состоянии sleeping, а коннект.
Всё завершилось, сервер ожидает новых команд.


Запрос отработал. Сервер передал данные клиенту. Клинт их обрабатывает. Просто клиент не закрыл коннект?
Собственно, коннект клиент может держать и постоянный, это частая практика. А может закрывать после каждого запроса.

А дальше, много вариантов:
Клиент может их обрабатывать.
Или наоборот, он чего то ждёт, прежде чем послать запрос.
Или обработка на клиенте заключается в редкой посылке кучи запросов, а вы видите sleeping.
Или клиент просто криво написан, он ничего не делает, но иконку ожидание не убрал (на большинстве веб-приложений часто такое - приложение показывает не реальный статус, а анимированную гифку).

В общем, насчёт клиента непонятно, но точно можно сказать, что серверу никакой команды не передавали, и никаких ожиданий нет.
4 дек 19, 16:53    [22032313]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
leonix
felix_ff
leonix,

причин может быть много. sleeping видите в каком представлении?


Процедурой смотрю [sp_WhoIsActive]
По дефолту это процедура вроде не показывает спящие сессии без открытых транзакций(!)
5 дек 19, 00:21    [22032636]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
leonix
Member

Откуда:
Сообщений: 403
Mind
leonix
пропущено...


Процедурой смотрю [sp_WhoIsActive]
По дефолту это процедура вроде не показывает спящие сессии без открытых транзакций(!)



[dbo].[sp_WhoIsActive] 
@output_column_list= '[status][open%]'




status                         open_tran_count
------------------------------ ------------------------------
suspended 0
runnable 0
runnable 2
runnable 2
runnable 2
sleeping 1
runnable 2
sleeping 1
runnable 1


У спящих действительно открытые транзакции
5 дек 19, 09:31    [22032778]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос в статусе sleeping то что это означает? как он попал в этот статус?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30824
leonix
У спящих действительно открытые транзакции
Значит, это клиент что то начал делать, а потом решил подумать...
5 дек 19, 11:16    [22032891]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить