Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Очистка буфера данных  [new]
ЖораЖора
Guest
Какой командой DBCC можно очистить буфер данных ?
12 дек 08, 10:47    [6561151]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
DBCC FREEPROCCACHE 
12 дек 08, 11:00    [6561259]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Скорее DBCC DROPCLEANBUFFERS. Только вот зачем?
12 дек 08, 11:01    [6561270]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
Knyazev Alexey
DBCC FREEPROCCACHE 

Леша, это кеш процедур. ;)

DBCC DROPCLEANBUFFERS
12 дек 08, 11:01    [6561272]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Александр Волок (def1983)
Knyazev Alexey
DBCC FREEPROCCACHE 

Леша, это кеш процедур. ;)

DBCC DROPCLEANBUFFERS


ага согласен =))) не дочитал и наврал =)))
12 дек 08, 11:07    [6561308]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
ЖораЖора
Guest
Гавриленко Сергей Алексеевич
Скорее DBCC DROPCLEANBUFFERS. Только вот зачем?


Cпасибо большое. Нужно для того, чтобы сравниваемые методы в одинаковых условиях были.(помимо очистки процедурного кеша)
12 дек 08, 11:21    [6561451]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Очистка буфера данных  [new]
Очистка
Guest
А команда
DBCC FREESYSTEMCACHE ('ALL')
Удаляет все неиспользуемые элементы из всех кэшей, т.е. в том числе очищает буфер данных и кеш процедур?
9 май 11, 22:29    [10626480]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
тесты
Guest
Запускаю несколько раз подряд конструкцию вида

DBCC FREESESSIONCACHE
go
DBCC DROPCLEANBUFFERS
go
DBCC FREESYSTEMCACHE ('ALL')
go
SELECT ....

Все равно с каждым разом время выполнения уменьшается. Можно ли как-то от этого избавиться для проведения чистых тестов?
9 май 11, 23:52    [10626675]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
iljy
Member

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

существует еще файловый кеш системы, а так же кеши дискового контроллера.
10 май 11, 10:30    [10627565]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Начинающий SQL 2008
Member

Откуда:
Сообщений: 438
Все равно с каждым разом время выполнения уменьшается. Можно ли как-то от этого избавиться для проведения чистых тестов?

Я запускаю секунд на 5, по 2 раза команду
select * from sys.objects a1, sys.objects a2

Для моих целей пока хватает
10 май 11, 10:42    [10627648]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
тесты
Guest
iljy
тесты,

существует еще файловый кеш системы, а так же кеши дискового контроллера.

А есть ли способы его очищать или только отключением в свойствах диска?

Начинающий SQL 2008 , вариант конечно, но чтобы очистить 4Гб надо секунд 40 держать, долго :)
10 май 11, 14:37    [10629524]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
зачем очищать кэши при тестировании?
о чем вам скажут такие сугубо искусственные тесты?
в рабочих системах у вас же кэши не будут пустыми
10 май 11, 14:40    [10629550]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
iljy
Member

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

существует еще файловый кеш системы, а так же кеши дискового контроллера.

А есть ли способы его очищать или только отключением в свойствах диска?

Запустите с диска на диск кино в HDTV копироваться Но вообще Гадя Петрович прав, тесты на холодных кешах достаточно искусственны и в общем-то ничего не дают. Статистику ввода-вывода можно и так посмотреть и прикинуть нагрузку.
10 май 11, 14:45    [10629602]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
Гадя Петрович
зачем очищать кэши при тестировании?
о чем вам скажут такие сугубо искусственные тесты?
в рабочих системах у вас же кэши не будут пустыми


Да но в рабочих системах далеко не всегда вся база будет в кеше. Вот, к примеру, чтобы проверить "импакт" СХД очистка кеша очень даже пригодится..

Да и как по другому протестировать сколько идет компиляция запроса?
11 май 11, 11:54    [10633977]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Александр Волок (def1983),

в хорошо спроектированной системе % попадания в кэш >90
информация к размышлению :)
11 май 11, 12:12    [10634135]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
Гадя Петрович
Александр Волок (def1983),

в хорошо спроектированной системе % попадания в кэш >90
информация к размышлению :)

угу, в хорошо спроектированной системе 90% от 5-ти террабайтной DSS базы помещаются в 128 ГБ буферного пула
а такие метрики при тюнинге как затраты на компиляцию планов вообще неуместны... система спроектирована хорошо.. новый сервер нужен..
11 май 11, 12:44    [10634343]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Александр Волок (def1983)
Гадя Петрович
Александр Волок (def1983),

в хорошо спроектированной системе % попадания в кэш >90
информация к размышлению :)

угу, в хорошо спроектированной системе 90% от 5-ти террабайтной DSS базы помещаются в 128 ГБ буферного пула
а такие метрики при тюнинге как затраты на компиляцию планов вообще неуместны... система спроектирована хорошо.. новый сервер нужен..
эка
а собственно зачем серверу кэшировать ВСЕ данные?
и вообще, о каком именно кэше речь?
11 май 11, 12:47    [10634369]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
Гадя Петрович
а собственно зачем серверу кэшировать ВСЕ данные?

Вот поэтому я и говорю:
я
Да но в рабочих системах далеко не всегда вся база будет в кеше.
Вот, к примеру, чтобы проверить "импакт" СХД очистка кеша очень даже пригодится..


Гадя Петрович
и вообще, о каком именно кэше речь?


Вы же говорите о кешах:

Гадя Петрович
в рабочих системах у вас же кэши не будут пустыми

Поэтому, собственно - процедурный кеш и кеш страниц данных.

К чему я веду - далеко не всегда бывают ситуации когда запрос выполняется в тепличных условиях - план запроса уже готов, страницы данных еще в кеше... и разница по времени выполнения может отличаться в разы... Даже в хорошо спроектированных системах :)
11 май 11, 12:56    [10634453]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Александр Волок (def1983)
К чему я веду - далеко не всегда бывают ситуации когда запрос выполняется в тепличных условиях - план запроса уже готов, страницы данных еще в кеше... и разница по времени выполнения может отличаться в разы... Даже в хорошо спроектированных системах :)
синтетичности тестов это не отменяет :)
может - будет в кэше, а может - и не будет
дык и надо выяснить - будет или нет, а не кэши грохать
да, в принципе, бессмысленный спор, нравится - тестируйте :)
11 май 11, 13:05    [10634544]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
КЭШ
Guest
Гадя Петрович
Александр Волок (def1983)
К чему я веду - далеко не всегда бывают ситуации когда запрос выполняется в тепличных условиях - план запроса уже готов, страницы данных еще в кеше... и разница по времени выполнения может отличаться в разы... Даже в хорошо спроектированных системах :)
синтетичности тестов это не отменяет :)
может - будет в кэше, а может - и не будет
дык и надо выяснить - будет или нет, а не кэши грохать
да, в принципе, бессмысленный спор, нравится - тестируйте :)

А для чего в принципе может понадобиться очистка КЭШа?

Например как проверить скорость выполнения нескольких вариантов пакета SQLBatch или выполнения 5-минутного отчета для DSS?
11 май 11, 13:17    [10634678]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
КЭШ
Гадя Петрович
пропущено...
синтетичности тестов это не отменяет :)
может - будет в кэше, а может - и не будет
дык и надо выяснить - будет или нет, а не кэши грохать
да, в принципе, бессмысленный спор, нравится - тестируйте :)

А для чего в принципе может понадобиться очистка КЭШа?

Например как проверить скорость выполнения нескольких вариантов пакета SQLBatch или выполнения 5-минутного отчета для DSS?


А для чего в принципе может понадобиться очистка КЭШа?
К примеру, чтобы добиться однозначных условий тестирования.
Не таких как: данные могут быть в кеше, а могут и не быть, а однозначные - данных там точно нет.

Например как проверить скорость выполнения нескольких вариантов пакета SQLBatch или выполнения 5-минутного отчета для DSS?

SET STATISTICS TIME ON
покажет сколько идет времени на компиляцию запросов, если подходящих планов в кеше нет
и сколько затрат времени на выполнения самого запроса

SET STATISTICS IO ON
покажет количество чтений/чтений из диска.
11 май 11, 13:24    [10634754]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Очистка буфера данных  [new]
Шамиль Фаридович
Member

Откуда: Саратов
Сообщений: 487
А в MSDN написано, что для проверки запроса при холодном буферном кэше предварительно нужно выполнить checkpoint:
checkpoint
dbcc dropcleanbuffers

Я занимаюсь оптимизацией хранимых процедур-запросов. Для чистоты экспериментов необходимо ли мне "охлаждать" кэш всего сервера, или достаточно поставить опцию
OPTION (Recompile)

?
13 июн 12, 15:25    [12708338]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Шамиль Фаридович
А в MSDN написано, что для проверки запроса при холодном буферном кэше предварительно нужно выполнить checkpoint:
checkpoint
dbcc dropcleanbuffers
Да, желательно сначала выполнить checkpoint, иначе не все данные могут быть очишены из кэша.

Шамиль Фаридович
Я занимаюсь оптимизацией хранимых процедур-запросов. Для чистоты экспериментов необходимо ли мне "охлаждать" кэш всего сервера, или достаточно поставить опцию
OPTION (Recompile)

?
OPTION (Recompile) никак не влияет на использование кэша данных
OPTION (Recompile) при тестировании используйте только в том случае, если она потом и в боевой запрос пойдет, иначе результаты теста будут не валидными.
14 июн 12, 01:10    [12710955]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Шамиль Фаридович
Member

Откуда: Саратов
Сообщений: 487
Mind,
спасибо. А для чистоты экспериментов достаточно ли очищать кэш данных, или нужно еще кэш планов процедур?
14 июн 12, 09:04    [12711406]     Ответить | Цитировать Сообщить модератору
 Re: Очистка буфера данных  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Шамиль Фаридович
Mind,
спасибо. А для чистоты экспериментов достаточно ли очищать кэш данных, или нужно еще кэш планов процедур?
А это зависит от того какие эксперименты. Если вы будете каждый раз очищать процедурный кэш, то результаты могут быть идеальными, зато потом когда эта процедура попадет в продакшн там её никто перекомпилировать не будет и можно словить кучу проблем из-за parameter sniffing-а.
14 июн 12, 21:07    [12716298]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить