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

Откуда: Москва
Сообщений: 151
Возникла следующая проблема: есть некоторая оооочень сложная процедура формирования аналитического отчета. Работает следующим образом - создается куча временных таблиц (#), в них загружаются большие объемы данных и дальше идет различная объединенная обработка данных в этих таблицах. После перезагрузки сервера процедура отрабатывает за 5 минут, спустя неделю после перезагрузки процедура начинает отрабатывать 1-2-3 часа. Так как весь расчет построен на временных таблицах - то есть подозрение, что происходит что-то не то с TempDB. Если у кого то есть мысли - помогите пожалста.

зы TempDB вообще очень активно юзается - очень много временных таблиц и расчетов с ними
18 ноя 09, 17:24    [7946695]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Ну и где анализ узкого места ? Начинаем со счетчиков производительности, профайлера и анализа планов исполнения. А без этого можно только гадать на кофейной гуще или обращаться к экстрасенсам...
18 ноя 09, 17:29    [7946728]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Опять же, статистика... Какие плановые работы происходят ? Если сбросить Кэш - DBCC FREEPROCCACHE ?
18 ноя 09, 17:31    [7946739]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

Откуда: Москва
Сообщений: 151
Общеизвестные способы анализа и выявления узкиз мест - оных не выявили
18 ноя 09, 17:34    [7946756]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
DmtP
Общеизвестные способы анализа и выявления узкиз мест - оных не выявили

Т.е. профайлер не показывает на запросе увеличения времени по цпу, системе ввода вывода ?. Цифры примерно теже, а выполняется во много раз дольше ?
18 ноя 09, 17:38    [7946780]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Кстати, нет ли у Вас работы с xml Документами ?
18 ноя 09, 17:38    [7946787]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

Откуда: Москва
Сообщений: 151
нет
18 ноя 09, 17:43    [7946818]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
DmtP
нет


из вас получился бы отличный партизан


1. какой размер темпдб , когда начинаются тормоза?
2. где она расположена, на тех же хдд, что и ваша база?
....
18 ноя 09, 18:18    [7947047]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

Откуда: Москва
Сообщений: 151
темпдб я изначально даю размер 4 Г и она больше не увеличивается
темпдб лежит на отдельном райд-массиве 10 из 4 дисков, с дисковой производительностью по счетчикам все номально, очередь - 0.01
18 ноя 09, 18:23    [7947064]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Winnipuh
DmtP
нет


из вас получился бы отличный партизан

....


+1024

А что у нас с блокировками ? Мониторили? Отсутствуют ?
18 ноя 09, 18:44    [7947147]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
iljy
Member

Откуда:
Сообщений: 8711
DmtP,

планы быстрых и медленных запросов смотрели? если одинаковые - поставьте процедуре опцию with recompile.
И ИМХО нужно иметь очень суровые требования к надежности и времени простоя либо быть не менее суровым параноиком чтобы клать tempdb на RAID10 :) хотя конечно если ресурсы позволяют - почему нет:)
18 ноя 09, 18:46    [7947153]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Var79
Member

Откуда:
Сообщений: 890
select @@Version
что напишет? случайно не 2000 ?
19 ноя 09, 01:49    [7948268]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Crimean
Member

Откуда:
Сообщений: 13148
в момент "тормозов" глянуть бы чуть профилером и по системным табличкам.. на 50% неясность бы снялась.. имхо пора "удаленную диагностику" делать, а то телепатов на форуме чо-то негусто..
19 ноя 09, 10:05    [7948749]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

Откуда: Москва
Сообщений: 151
Чтобы снять массу ненужных вопросов типа версии сиквела, задам узкий вопрос гуру: что такого может происходить в темпдб, что тормоза начинаются через неделю после перезагрузки? Если бы они начинались сразу, то было бы все понятно что надо смотреть и анализировать, а так я в ступоре.
19 ноя 09, 10:27    [7948917]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104760
DmtP
задам узкий вопрос гуру: что такого может происходить в темпдб, что тормоза начинаются через неделю после перезагрузки?

Типа узкий(в смысле не широкий) ответ - Все что угодно.
19 ноя 09, 10:30    [7948928]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

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

в момент "тормозов" выполняется селект и запись в #таблицу
19 ноя 09, 10:37    [7948969]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Glory
Member

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

в момент "тормозов" выполняется селект и запись в #таблицу

Это select into что ли ?
19 ноя 09, 10:38    [7948976]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

Откуда: Москва
Сообщений: 151
Glory, вот кусок процедуры, на котором идет торможение:

insert WW_DocD( WHListID, ParamID, DocID, CounterID, Qty, VAT, CountryGTD, AmtR)
select @WHListID, @ParamID, t.DocID, r.CounterID, r.Qty, p.VAT,
CountryGTD = dbo.WW_CountryGTD( p.ProductID, r.Qty, t.DocDate, @WHListID),
AmtR = dbo.DRound( dbo.DRound( r.Qty) *
case when c.IsDetail = 1
then pp.Price
else
case when isnull(pp.MinPrice, 0) < 0.01
then 1
else pp.MinPrice
end
end * @CRate * @CoefIn)
from #CurrentReserv r join #Doc t on t.ParamID = @ParamID and t.DocID = r.DocID
join #ProductPrice pp on r.CounterID = pp.CounterID
join dbo.Products p on p.CounterID = r.CounterID
-- join vProductColumnPrice pp on p.ProductID = pp.ProductID
join dbo.Categories c on c.CategID = p.CategID
left join #WhouseByCustomer w on w.ParamID = r.ParamID and w.DocID = r.DocID and w.CounterID = r.CounterID
where r.ParamID = @ParamID and r.Qty >= 0.005 and w.CounterID is null

вот кусок функции dbo.WW_CountryGTD :

select top 1
@CityID = d.CityID,
@GTD = rtrim( g.nomer) + '/' + ltrim( str( d.dr))
from dbo.GTD g (nolock)
join dbo.GTD_Produd d (nolock) on d.id_gtd = g.id_gtd
left join (
select dd.Nomer, dd.Dr
from WW_Param p (nolock)
join WW_Doc d (nolock) on d.WHListID = @WHListID and d.ParamID = p.ParamID
join WW_DocD dd (nolock) on dd.WHListID = @WHListID and dd.ParamID = d.ParamID and dd.DocID = d.DocID
where p.WHListID = @WHListID and p.ParamType = 1) t on t.Nomer = g.Nomer and t.dr = d.dr
where g.data1 < @Date and g.Priz = 0 and t.Nomer is null and
d.ProductID in ( @ProductID, @ParentID) and d.Qty1 >= @Qty

order by
case
when g.data1 <= @Point then 1
else 2 end,
case
when g.data1 <= @Point
then g.data1
else DateAdd( d, DateDiff( d, g.data1, @Date), @Point) end
desc, g.InDate
19 ноя 09, 10:50    [7949059]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104760
DmtP
Glory, вот кусок процедуры, на котором идет торможение:

Планы этих запросов после перезагрузки и через неделю отличаются или нет ?
19 ноя 09, 10:52    [7949072]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

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

не отличаются
19 ноя 09, 11:03    [7949140]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

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

WITH RECOMPILE тоже не помогает
19 ноя 09, 11:08    [7949185]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104760
Glory
DmtP
Glory, вот кусок процедуры, на котором идет торможение:

Планы этих запросов после перезагрузки и через неделю отличаются или нет ?

Т.е. менятся только CPU time затрачиваемое на каждый запрос ?
А что со счетчиками ? В первую очередь с очередью к диску.
19 ноя 09, 11:11    [7949214]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

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

см выше, я все писал
19 ноя 09, 11:18    [7949274]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
Glory
Member

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

см выше, я все писал

Про цпу там нет ответа
19 ноя 09, 11:20    [7949297]     Ответить | Цитировать Сообщить модератору
 Re: работа TempDB  [new]
DmtP
Member

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

да, меняется только время цпу
19 ноя 09, 12:09    [7949785]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить