Я работал над проектом, целью которого является автоматизировать тестирование производительности нескольких хранимых процедур на наших серверах с использованием пакета служб SSIS. Ранее это делалось вручную с использованием SQL Server Profiler. Мы использовали для хранения таблицы трассировки, а затем сравнивали последние данные (Duration, CPU, Reads) со старыми данными. В рамках автоматизации мы используем расширенные события для сохранения данных о событиях в файл, а затем считываем данные в таблицу базы данных.
Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я запускаю хранимые процедуры вручную, данные, которые я получаю, не соответствуют данным, которые я получаю при запуске этих хранимых процедур с помощью инструмента автоматизации. Я уверен, что мы правильно реализовали расширенные события в инструменте.
Ниже приведены результаты, которые я получаю (кэш очищается перед тестированием вручную, а также с использованием инструмента)
Ссылка на снимок данных
Для нескольких хранимых процедур возможны 40–50% вариации процессора и> 100% длительности.
Может ли кто-нибудь предложить возможные причины того же? Я не мог найти другого способа, кроме как использовать XEvents для автоматизации задачи.
РЕДАКТИРОВАНИЕ1: Снимок данных