Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Тестирование производительности запросов


Автор: lv151 6.6.2013, 16:15
Перед тестированием чищу кэши.

Код

CHECKPOINT
GO
DBCC DROPCLEANBUFFERS 
GO
DBCC FREESYSTEMCACHE('ALL')
GO
DBCC FREESESSIONCACHE
GO
DBCC FREEPROCCACHE
GO


Что можно ещё сделать?

Автор: Zioma 6.6.2013, 16:33
А зачем чистить кэш ?
Сервер все равно будет кэшировать данные и первый запуск запроса будет более продолжительный.

Автор: lv151 6.6.2013, 16:47
Важно, данные находятся в кэше или нет.

Автор: Akina 6.6.2013, 16:57
Тестирование запросов в исходном бескэшевом состоянии - занятие бессмысленное. Реально запросы в таких условиях не выполняются.

Автор: lv151 6.6.2013, 17:03
А если данные не в кэше?

Автор: Akina 6.6.2013, 17:25
Либо это первое обращение к данным (непоказательно), либо обращение к этим данным крайне редкое (один раз можно и потерпеть), либо серверу катастрофически нехватает памяти (надо апгрейдить).

В любом случае тестирование такого случая - бессмысленно.

Автор: lv151 7.6.2013, 09:48
А если огромная база и данные в кеше часто меняются?


Автор: Akina 7.6.2013, 09:52
То вариант номер три.

Автор: lv151 7.6.2013, 10:00
Ты прав.

Автор: Zloxa 7.6.2013, 10:32
Цитата(Akina @  6.6.2013,  18:25 Найти цитируемый пост)
В любом случае тестирование такого случая - бессмысленно. 

Не согласен. Нагрузочное тестирование в экстремальных режимах - нужно.

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

Автор: Akina 7.6.2013, 10:49
Цитата(Zloxa @  7.6.2013,  11:32 Найти цитируемый пост)
Нагрузочное тестирование в экстремальных режимах - нужно.

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

Но это ведь не тестирование ПРОИЗВОДИТЕЛЬНОСТИ запросов.

Автор: Zloxa 7.6.2013, 10:55
Akina, ну таки запросы тоже быают разные. Бывает те которые обращаются к высоковероятно закэшированным данным, бывают те, которые обращаются к высоковероятно врядли закэшированным. На этапе разработки оценивать приемлимость производительности второго вида запросов достаточно сложно в виду того, что при написании запроса данные волей неволей протащил в кэш, потому желания топикстартера мне понятны, а категоричность твоего ответа - нет.

Автор: lv151 7.6.2013, 16:04
Когда база данных удаляется, данные в кэше из неё остаются или нет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)