Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
На этой неделе началась вышеуказанная проблема.
Самописный клиент запускает хранимую процедуру, используя(видимо) объект ADODB Command.
Ещё на прошлой неделе всё было ок.
В хранимку за это время вносились лишь косметические изменения.
Одмин отвечает, что с сервером всё норм, проблемы он не видит.
SQL Server Profiler никакие блокировки во время выполнения не указал.

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

select @@VERSION
--Microsoft SQL Server 2008 (SP3) - 10.0.5538.0 (X64)   Apr  3 2015 14:50:02   Copyright (c) 1988-2008 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2) 
19 окт 18, 12:21    [21708887]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Актуальный план выполнения в студию. И саму хранимку
19 окт 18, 12:24    [21708893]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5930
Если клиент самописный, в чем проблема увеличить таймаут? Он по умолчанию равен 30 сек. - поменялась какая-то статистика, план запроса, итд - вот и увеличилось время. И наличие блокировок для возникновения ошибки истечения таймаута вовсе необязательно.
19 окт 18, 12:44    [21708946]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
Сон Веры Павловны
Если клиент самописный, в чем проблема увеличить таймаут? Он по умолчанию равен 30 сек. - поменялась какая-то статистика, план запроса, итд - вот и увеличилось время. И наличие блокировок для возникновения ошибки истечения таймаута вовсе необязательно.

Нене - там не 30 секунд таймаут, процедура несколько минут работает.
Проблема в том, что исходный код клиента отсутствует.
19 окт 18, 12:49    [21708962]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
L_argo
Member

Откуда:
Сообщений: 1195
mnbvcx
Проблема в том, что исходный код клиента отсутствует.
А разве он нужен ?
Код ХП не зашифрован ?

Обновите статистику ключевых таблиц этой ХП.
19 окт 18, 14:12    [21709131]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
L_argo
mnbvcx
Проблема в том, что исходный код клиента отсутствует.
А разве он нужен ?
Код ХП не зашифрован ?

Код пригодился бы для увеличения таймаута
L_argo
Обновите статистику ключевых таблиц этой ХП.

Не зашифрован.
Таблицы от 15 до 16609 строк, идёт поиск по совпадениям типа

WHERE ((x like '%' + REPLACE (@s_n,' ','%') + '%') and (x like '%' + @d_n + '%'))
19 окт 18, 14:45    [21709207]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
aleks222
Member

Откуда:
Сообщений: 929
mnbvcx
Таблицы от 15 до 16609 строк, идёт поиск по совпадениям типа

WHERE ((x like '%' + REPLACE (@s_n,' ','%') + '%') and (x like '%' + @d_n + '%'))


Прямо бы напесал: идет сканирование (чтение ВСЕЙ) таблицы.

Т.е. чем больше таблица - тем дольше сканировать.

mnbvcx
или может уже существующее пошаговое руководство из базы знаний по локализации проблемы

Ликвидируем содержимое таблицы - все станет шоколадно.

delete aTable;
19 окт 18, 15:35    [21709265]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
aleks222

Прямо бы напесал: идет сканирование (чтение ВСЕЙ) таблицы.

Т.е. чем больше таблица - тем дольше сканировать.

Если бы я нопесал про фуллскан, ты бы первый обоснованно спросил "Какие ваши доказательства"?
А по строке кода всё сразу видно.
19 окт 18, 15:55    [21709296]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
mnbvcx
aleks222
Прямо бы напесал: идет сканирование (чтение ВСЕЙ) таблицы.

Т.е. чем больше таблица - тем дольше сканировать.

Если бы я нопесал про фуллскан, ты бы первый обоснованно спросил "Какие ваши доказательства"?
А по строке кода всё сразу видно.

у вас есть сомнения?
19 окт 18, 15:56    [21709297]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
mnbvcx
aleks222
Прямо бы напесал: идет сканирование (чтение ВСЕЙ) таблицы.

Т.е. чем больше таблица - тем дольше сканировать.

Если бы я нопесал про фуллскан, ты бы первый обоснованно спросил "Какие ваши доказательства"?
А по строке кода всё сразу видно.
А по плану еще лучше видно. Курите сами тогда ваш план.
19 окт 18, 21:49    [21709565]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
Mind, При чём здесь план?
План ровно такой же, как и неделю назад.
Но неделю назад всё было ок.
Мой изначальный вопрос не в том, как процедуру оптимизировать.
20 окт 18, 09:39    [21709678]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
mnbvcx
План ровно такой же, как и неделю назад.
О, так у вас хранится старый план, когда было хорошо?

Планы одинаковые, но время выполнения сильно разное?

Странно это.

mnbvcx
Мой изначальный вопрос не в том, как процедуру оптимизировать.
Ну, дело либо в изменившемся плане, либо в настройках сервера, либо в блокировках.

Но вы утверждаете, что по этим 3 пунктам всё нормально, так что тупик, ничего не сделать.
21 окт 18, 06:11    [21710066]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
alexeyvg
Ну, дело либо в изменившемся плане, либо в настройках сервера, либо в блокировках.

Но вы утверждаете, что по этим 3 пунктам всё нормально, так что тупик, ничего не сделать.

Я не утверждал, что с сервером все ок.
После его рестарта пользователи стали жаловаться на тормоза.
Что могло с планом измениться, если там везде фуллскан?
21 окт 18, 09:31    [21710082]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
alexeyvg
Планы одинаковые, но время выполнения сильно разное?

Странно это.

Я не знаю, насколько сильно разное время выполнения.
Может, ровно на 1 секунду больше таймаута.
21 окт 18, 09:44    [21710086]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
aleks222
Member

Откуда:
Сообщений: 929
[quot mnbvcx]
alexeyvg
После его рестарта пользователи стали жаловаться на тормоза.
Что могло с планом измениться, если там везде фуллскан?


1. Проблемы в совсем других запросах могут увеличить нагрузку на сервер и время выполнения ЭТИХ запросов.

2. Рост таблицы вызывает рост времени выполнения - было на 1м сек меньше таймаута, стало на 1 сек больше.
21 окт 18, 10:15    [21710091]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
mnbvcx
Что могло с планом измениться, если там везде фуллскан?
Да кто зхнает, мог бы измениться план неизвестного запроса, или нет? Даже план запроса select * from table может измениться, не то что неизвестного с условиями.

Впрочем, это неважно, вы же сравнили планы, они одинаковые.
mnbvcx
Я не утверждал, что с сервером все ок.
Так вы может посмотреть на серверы?
Может, там настройки памяти поменяли, может, уровень параллелизма. Может, настройки сети поменяли на сервере. Может, физический сервер для виртуалки

Слишком общий у вас вопрос - "что может измениться на железке, ОС, сиквеле и в базе, и в данных базы, а так же на клиентах, из за чего может измениться производительность приложения?"

Вы ведь такой вопрос задаёте, я правильно понимаю?
21 окт 18, 13:09    [21710170]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
alexeyvg
...

Слишком общий у вас вопрос - "что может измениться на железке, ОС, сиквеле и в базе, и в данных базы, а так же на клиентах, из за чего может измениться производительность приложения?"

Вы ведь такой вопрос задаёте, я правильно понимаю?

Нет, неправильно понимаете.
Вопрос в том, как локализовать проблему.
И при этом не смотреть план.
21 окт 18, 17:05    [21710317]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36928
mnbvcx
Вопрос в том, как локализовать проблему.И при этом не смотреть план.
Ну, в хрустальный шар посмотрите. Всяко будет быстрее, чем тут по описанию фотографии вылечат.

Сообщение было отредактировано: 21 окт 18, 18:51
21 окт 18, 18:51    [21710382]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
Гавриленко Сергей Алексеевич
mnbvcx
Вопрос в том, как локализовать проблему.И при этом не смотреть план.
Ну, в хрустальный шар посмотрите. Всяко будет быстрее, чем тут по описанию фотографии вылечат.

Слушай, ну что может дать план конкретной хп, если пользователи с момента рестарта серверов жалуются на тормоза - и каждый запускает разные хп или регламентированные запросы?
21 окт 18, 19:07    [21710390]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
Гавриленко Сергей Алексеевич, ок, можете закрывать тему.
21 окт 18, 19:08    [21710392]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
mnbvcx
Гавриленко Сергей Алексеевич
пропущено...
Ну, в хрустальный шар посмотрите. Всяко будет быстрее, чем тут по описанию фотографии вылечат.

Слушай, ну что может дать план конкретной хп, если пользователи с момента рестарта серверов жалуются на тормоза - и каждый запускает разные хп или регламентированные запросы?
А что может дать вопрос "у меня медленно, как исправить"?

Да, наверняка одного плана не будет достаточно, но это лучше, чем одно слово "тормозит". Посмотреть актуальный план - одно из очевидных действий.

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

В любом случае ваш вопрос "как локализовать проблему", или, что то же самое, "что может измениться на железке, ОС, сиквеле и в базе, и в данных базы, а так же на клиентах, из за чего может измениться производительность приложения?" слишком общий.
Пересказывать все книги, блоги, свой опыт работы? Это нереально.
22 окт 18, 09:30    [21710710]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2394
alexeyvg,

- у меня атомобиль, тупит, не едет
- откройте капот.
- зачем? что там могло измениться за неделю? лучше скажите в чем меня проблема!
22 окт 18, 09:38    [21710720]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
mnbvcx
Member

Откуда:
Сообщений: 215
alexeyvg
...

В любом случае ваш вопрос "как локализовать проблему", или, что то же самое, "что может измениться на железке, ОС, сиквеле и в базе, и в данных базы, а так же на клиентах, из за чего может измениться производительность приложения?" слишком общий.
Пересказывать все книги, блоги, свой опыт работы? Это нереально.

Есть такая книжка microsoft sql server 2008 Реализация и обслуживание.
Там есть, например, глава 12 Мониторинг Microsoft SQL Server.
Типа того.
Я не DBA, просто слишком к сердцу проблемы принимаю, которые не могу контролировать.
22 окт 18, 10:23    [21710775]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
mnbvcx
alexeyvg
В любом случае ваш вопрос "как локализовать проблему", или, что то же самое, "что может измениться на железке, ОС, сиквеле и в базе, и в данных базы, а так же на клиентах, из за чего может измениться производительность приложения?" слишком общий.
Пересказывать все книги, блоги, свой опыт работы? Это нереально.

Есть такая книжка microsoft sql server 2008 Реализация и обслуживание.
Там есть, например, глава 12 Мониторинг Microsoft SQL Server.
Типа того.
Да, вот какая то доля информации содержится в этой книге.

И что же, пересказывать её здесь?

Нету волшебной кнопки или опции, это как врач, не сможет выписать рецепт по словам "что то у меня голова болит", нужно проводить обследование.

mnbvcx
Я не DBA, просто слишком к сердцу проблемы принимаю, которые не могу контролировать.
А для диагностики нужен DBA.
Либо вы учитесь работе DBA, либо его приглашаете.
Тут могут помочь с конкретным вопросом, но не с таким общим.
22 окт 18, 11:40    [21710858]     Ответить | Цитировать Сообщить модератору
 Re: Время ожидания запроса истекло на клиенте.  [new]
L_argo
Member

Откуда:
Сообщений: 1195
mnbvcx
Таблицы от 15 до 16609 строк, идёт поиск по совпадениям типа

WHERE ((x like '%' + REPLACE (@s_n,' ','%') + '%') and (x like '%' + @d_n + '%'))
Иногда помогает разбитие большого запроса на неск. меньших с более простыми условиями. Н-р разбиение большого запроса на 2-3 UNIONa

Можно поставить в seleсt-ах в секции FROM with(nolock).

Также помогает использование времянок, если в большом seleсt сложные многоэтажные преобразования, которые можно разбить на части и потом объединить.
22 окт 18, 17:36    [21711467]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить