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

Откуда: Киев
Сообщений: 12
Всем добрый день.

Подскажите пожалуйста кто сталкивал или с чем может быть связан сей трабл.

Суть в том что если трейсить профайлером рабочий сервер на предмет процедур с большим значением CPU а потом скопировать этот вызов в студию и снова выполнить то значения выполнения этого же запроса абсолютно другие на порядок меньше.
Тот же самый трабл если выполнить этот же запрос на тестовой базе поднятой из бекапа.

Пример: отлавливаю профайлером процедуру у которой при выполнении CPU=24000 reads=112000 копирую данный запрос в студию, запускаю, опять смотрю в профайлер CPU=893 reads=6900 тот же запрос .
29 июл 09, 17:48    [7475522]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
Один и тот же запрос на разном оборудовании и разных данных может выполняться по-разному
Вы сравнивали планы выполнения ?
29 июл 09, 17:50    [7475532]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
SET'ы что шлются из клиентского приложения... при коннекте... ? кеширование? и т.п.
29 июл 09, 17:52    [7475554]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
nomak0


Пример: отлавливаю профайлером процедуру у которой при выполнении CPU=24000 reads=112000 копирую данный запрос в студию, запускаю, опять смотрю в профайлер CPU=893 reads=6900 тот же запрос .

Т.е. вы меряете выполнение запроса, который работает в процедуре, а потом тестируете этот запрос отдельно вне процедуры ?
29 июл 09, 17:54    [7475575]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory
Один и тот же запрос на разном оборудовании и разных данных может выполняться по-разному
Вы сравнивали планы выполнения ?

Это понятно.
Проблема в том что я не могу получить план запроса когда он выполняется из приложения и жрёт ресурсы я вижу только статистику по нему в профайлере. План мне собственно и нужен.

Когда я копирую вызов из профайлера в менеджмент студию выполняю и смотрю статистику выполнения в профайлере получаю совсем другие данные.
29 июл 09, 17:57    [7475597]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory
nomak0


Пример: отлавливаю профайлером процедуру у которой при выполнении CPU=24000 reads=112000 копирую данный запрос в студию, запускаю, опять смотрю в профайлер CPU=893 reads=6900 тот же запрос .

Т.е. вы меряете выполнение запроса, который работает в процедуре, а потом тестируете этот запрос отдельно вне процедуры ?

Нет. В профайлере я вижу вызов процедуры с патаметрами я его копирую и в таком же виду выполняю.
29 июл 09, 17:58    [7475603]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
nomak0
Glory
Один и тот же запрос на разном оборудовании и разных данных может выполняться по-разному
Вы сравнивали планы выполнения ?

Это понятно.
Проблема в том что я не могу получить план запроса когда он выполняется из приложения и жрёт ресурсы я вижу только статистику по нему в профайлере. План мне собственно и нужен.

И почему вы не можете получить план выполнения ?
29 июл 09, 17:59    [7475608]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory
nomak0
Glory
Один и тот же запрос на разном оборудовании и разных данных может выполняться по-разному
Вы сравнивали планы выполнения ?

Это понятно.
Проблема в том что я не могу получить план запроса когда он выполняется из приложения и жрёт ресурсы я вижу только статистику по нему в профайлере. План мне собственно и нужен.

И почему вы не можете получить план выполнения ?


может просто не знаю как. )
29 июл 09, 18:02    [7475632]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
nomak0
Glory
nomak0
Glory
Один и тот же запрос на разном оборудовании и разных данных может выполняться по-разному
Вы сравнивали планы выполнения ?

Это понятно.
Проблема в том что я не могу получить план запроса когда он выполняется из приложения и жрёт ресурсы я вижу только статистику по нему в профайлере. План мне собственно и нужен.

И почему вы не можете получить план выполнения ?


может просто не знаю как. )

Ну так событие есть соответствующее в Профайлере.
29 июл 09, 18:03    [7475636]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory,

Как вывести план в профайлер нашел. Но там нет для них фильтра по ЦПУ или по названию или даже названия процедуры. просто валится в профайлер сотни планов в секунду.
Как мне отфильтровать план именно нужной процедуры или планы с большим значение ЦПУ при выполнении?
29 июл 09, 18:22    [7475735]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Var79
Member

Откуда:
Сообщений: 890
так и знал :)
29 июл 09, 18:26    [7475749]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Var79
Member

Откуда:
Сообщений: 890
ой нетуда
29 июл 09, 18:27    [7475751]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
nomak0
Glory,

Как вывести план в профайлер нашел. Но там нет для них фильтра по ЦПУ или по названию или даже названия процедуры. просто валится в профайлер сотни планов в секунду.
Как мне отфильтровать план именно нужной процедуры или планы с большим значение ЦПУ при выполнении?

например, писать трассу в файл, затем вычитывать файл при помощи fn_trace_gettable и смотреть последовательно.
Или написать небольшое приложение, которое будет это делать "на лету".
29 июл 09, 19:25    [7475921]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
nomak0
Glory,

Как вывести план в профайлер нашел. Но там нет для них фильтра по ЦПУ или по названию или даже названия процедуры. просто валится в профайлер сотни планов в секунду.
Как мне отфильтровать план именно нужной процедуры или планы с большим значение ЦПУ при выполнении?

Ну у вас разве нет номера коннекта, в котором была запущена процедура ?
29 июл 09, 19:55    [7475960]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Crimean
Member

Откуда:
Сообщений: 13148
коннекшен сеты обязательно скопировать из логон события! ну и статистики могут устаревать и 2 одинаковых вызова на одинаковые данные в течении получаса могут из-за разных планов дать разные стоимости
29 июл 09, 21:28    [7476103]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory
nomak0
Glory,

Как вывести план в профайлер нашел. Но там нет для них фильтра по ЦПУ или по названию или даже названия процедуры. просто валится в профайлер сотни планов в секунду.
Как мне отфильтровать план именно нужной процедуры или планы с большим значение ЦПУ при выполнении?

Ну у вас разве нет номера коннекта, в котором была запущена процедура ?

попробовал на тестовой версии приложения. Точно такая же история. Из приложения и из студии косты выполнения одного и того же запроса разные. Зато теперь есть номер коннекта.
Но тут слудующий вопрос. Процедура большая и в профайлере она разбивается на несколько сотен маленьких планов, как определить кусок с самым большим костом?

К сообщению приложен файл. Размер - 0Kb
30 июл 09, 11:47    [7477950]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
ещё пикча

К сообщению приложен файл. Размер - 0Kb
30 июл 09, 11:48    [7477957]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
nomak0
Glory
nomak0
Glory,

Как вывести план в профайлер нашел. Но там нет для них фильтра по ЦПУ или по названию или даже названия процедуры. просто валится в профайлер сотни планов в секунду.
Как мне отфильтровать план именно нужной процедуры или планы с большим значение ЦПУ при выполнении?

Ну у вас разве нет номера коннекта, в котором была запущена процедура ?

попробовал на тестовой версии приложения. Точно такая же история. Из приложения и из студии косты выполнения одного и того же запроса разные. Зато теперь есть номер коннекта.
Но тут слудующий вопрос. Процедура большая и в профайлере она разбивается на несколько сотен маленьких планов, как определить кусок с самым большим костом?

Хм. Отследить выполнение всех команд процедуры и ранжировать их по CPU/Read/Write ?
30 июл 09, 11:48    [7477962]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Crimean
коннекшен сеты обязательно скопировать из логон события! ну и статистики могут устаревать и 2 одинаковых вызова на одинаковые данные в течении получаса могут из-за разных планов дать разные стоимости

Сеты копировал и вставлял. Не помогает.
Планы не устаревают. Именно из приложения процедура выполняется с костом1 из студии с костом2. Причём кост1>кост2, причём на 2 порядка.
30 июл 09, 11:53    [7478012]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory
Хм. Отследить выполнение всех команд процедуры и ранжировать их по CPU/Read/Write ?

В смысле отследить выполнение всех команд? Это как?
В профайлере я вижу только общий кост выполения процедуры, внутри же самой процедуры несколько десятков запросов.
30 июл 09, 12:02    [7478110]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
Glory
Member

Откуда:
Сообщений: 104760
nomak0
Glory
Хм. Отследить выполнение всех команд процедуры и ранжировать их по CPU/Read/Write ?

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

Ну так же как вы получили событие выполенения процедуры. Вы разве не видите в списке событий нужные ?
30 июл 09, 12:08    [7478159]     Ответить | Цитировать Сообщить модератору
 Re: Странности профайлера  [new]
nomak0
Member

Откуда: Киев
Сообщений: 12
Glory
nomak0
Glory
Хм. Отследить выполнение всех команд процедуры и ранжировать их по CPU/Read/Write ?

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

Ну так же как вы получили событие выполенения процедуры. Вы разве не видите в списке событий нужные ?

У меня получилось. Добавил событие в профайлере и по длительности вычислил проблемный кусок кода.

Это было что-то из разряда "Не верь глазам своим". Процедура из приложения и из студии выполняется абсолютно по-разному с теми же параметрами, такое впечатление что она вызывается из приложения с одними параметрами, а в профайлере это же вызов отображается с другими.
Рыть в корень пока не стал, ограничился тем что подрихтовал проблемный кусок кода.
30 июл 09, 14:22    [7479269]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить