Измерение времени выполнения SQL запроса
#1
Отправлено 10 марта 2005 - 14:16
Задача: есть БД на MS SQL 2000, есть веб интерфейс для формирования запросов и отображения результатов выборки. Необходимо измерить время выполнения запросов и загрузки результата на комп пользователя, через веб интерфейс.
Как я понимаю логика работы такая:
1) Сформировать запрос. Сформированный запрос можно сохранить. Потом вызывать из веб интерфейса одним кликом
2) Запустить запрос на выполнения. Запомнить время начала выполнения.
3) Дождаться завершения запроса и загрузки результатов выборки в табличку веб интерфейса. Запомнить время окончания запроса
4) Вычитаем время начала из времени окончания, получаем время выполнения
все вышеперчисленные шаги нужно выполнить в цикле, чтобы
1) получить несколько результатов и вычислить среднее время выполнение одного запроса
2) проверить несколько запросов с разными параметрами
3) выявить зависимость между размерами БД и временем выполнения различных запросов (т.е. выполнение запросов с разными БД)
Т.е. все показания к автоматизации. А вот каким образом? Может вы знаете какие то готовые решения?
#2
Отправлено 10 марта 2005 - 15:18
почитайте этот топикЗдравствуйте, уважаемые!
Задача: есть БД на MS SQL 2000, есть веб интерфейс для формирования запросов и отображения результатов выборки. Необходимо измерить время выполнения запросов и загрузки результата на комп пользователя, через веб интерфейс.
Как я понимаю логика работы такая:
1) Сформировать запрос. Сформированный запрос можно сохранить. Потом вызывать из веб интерфейса одним кликом
2) Запустить запрос на выполнения. Запомнить время начала выполнения.
3) Дождаться завершения запроса и загрузки результатов выборки в табличку веб интерфейса. Запомнить время окончания запроса
4) Вычитаем время начала из времени окончания, получаем время выполнения
все вышеперчисленные шаги нужно выполнить в цикле, чтобы
1) получить несколько результатов и вычислить среднее время выполнение одного запроса
2) проверить несколько запросов с разными параметрами
3) выявить зависимость между размерами БД и временем выполнения различных запросов (т.е. выполнение запросов с разными БД)
Т.е. все показания к автоматизации. А вот каким образом? Может вы знаете какие то готовые решения?
#3
Отправлено 10 марта 2005 - 15:56
Соседний топик слишком "advanced" для такой задачи. Если у вас в компании нет еще инструментов нагрузочного тестирования, то возьмите любой бесплатный (тот же OpenSTA, например) и без проблем сделаете то, что вам нужно.Как я понимаю логика работы такая:
1) Сформировать запрос. Сформированный запрос можно сохранить. Потом вызывать из веб интерфейса одним кликом
2) Запустить запрос на выполнения. Запомнить время начала выполнения.
3) Дождаться завершения запроса и загрузки результатов выборки в табличку веб интерфейса. Запомнить время окончания запроса
4) Вычитаем время начала из времени окончания, получаем время выполнения
#4
Отправлено 11 марта 2005 - 13:52
#5
Отправлено 14 марта 2005 - 06:54
Действительно, OpenSta это то, что нужно в данном случае
еще один плюс - в тестах теперь стало гораздо больше порядка и определенности :-)
#6
Отправлено 14 марта 2005 - 07:46
Время выполнения не всей операции, а именно SQL запроса можно измерять с помощью Profiler, входящего в комплект MS SQL.
--
Сергей Мартыненко
Блог 255 ступеней (байки для оруженосца)
facebook (Дети диаграммы Ганта)
ВебПосиделки клуба имени Френсиса Бэкона
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных