Перейти к содержимому

Фотография

Измерение времени выполнения SQL запроса


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 nat

nat

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 10 марта 2005 - 14:16

Здравствуйте, уважаемые!

Задача: есть БД на MS SQL 2000, есть веб интерфейс для формирования запросов и отображения результатов выборки. Необходимо измерить время выполнения запросов и загрузки результата на комп пользователя, через веб интерфейс.

Как я понимаю логика работы такая:
1) Сформировать запрос. Сформированный запрос можно сохранить. Потом вызывать из веб интерфейса одним кликом
2) Запустить запрос на выполнения. Запомнить время начала выполнения.
3) Дождаться завершения запроса и загрузки результатов выборки в табличку веб интерфейса. Запомнить время окончания запроса
4) Вычитаем время начала из времени окончания, получаем время выполнения

все вышеперчисленные шаги нужно выполнить в цикле, чтобы
1) получить несколько результатов и вычислить среднее время выполнение одного запроса
2) проверить несколько запросов с разными параметрами
3) выявить зависимость между размерами БД и временем выполнения различных запросов (т.е. выполнение запросов с разными БД)

Т.е. все показания к автоматизации. А вот каким образом? Может вы знаете какие то готовые решения?
  • 0

#2 dlg99

dlg99

    Специалист

  • Members
  • PipPipPipPipPip
  • 609 сообщений
  • ФИО:Andrey Yegorov
  • Город:Redmond, WA

Отправлено 10 марта 2005 - 15:18

Здравствуйте, уважаемые!

Задача: есть БД на MS SQL 2000, есть веб интерфейс для формирования запросов и отображения результатов выборки. Необходимо измерить время выполнения запросов и загрузки результата на комп пользователя, через веб интерфейс.

Как я понимаю логика работы такая:
1) Сформировать запрос. Сформированный запрос можно сохранить. Потом вызывать из веб интерфейса одним кликом
2) Запустить запрос на выполнения. Запомнить время начала выполнения.
3) Дождаться завершения запроса и загрузки результатов выборки в табличку веб интерфейса. Запомнить время окончания запроса
4) Вычитаем время начала из времени окончания, получаем время выполнения

все вышеперчисленные шаги нужно выполнить в цикле, чтобы
1) получить несколько результатов и вычислить среднее время выполнение одного запроса
2) проверить несколько запросов с разными параметрами
3) выявить зависимость между размерами БД и временем выполнения различных запросов (т.е. выполнение запросов с разными БД)

Т.е. все показания к автоматизации. А вот каким образом? Может вы знаете какие то готовые решения?

почитайте этот топик
  • 0
Andrey Yegorov. Изображение

#3 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 10 марта 2005 - 15:56

Как я понимаю логика работы такая:
1) Сформировать запрос. Сформированный запрос можно сохранить. Потом вызывать из веб интерфейса одним кликом
2) Запустить запрос на выполнения. Запомнить время начала выполнения.
3) Дождаться завершения запроса и загрузки результатов выборки в табличку веб интерфейса. Запомнить время окончания запроса
4) Вычитаем время начала из времени окончания, получаем время выполнения

Соседний топик слишком "advanced" для такой задачи. Если у вас в компании нет еще инструментов нагрузочного тестирования, то возьмите любой бесплатный (тот же OpenSTA, например) и без проблем сделаете то, что вам нужно.
  • 0
Дмитрий Шевченко

HP Software

#4 van

van

    Опытный участник

  • Members
  • PipPipPipPip
  • 475 сообщений
  • ФИО:Ваулин Артем Николаевич
  • Город:Россия, Санкт - Петербург

Отправлено 11 марта 2005 - 13:52

Согласен с Дмитрием - классические пример тестирования производительности.
  • 0
Ваулин Артем
КОРУС Консалтинг
Руководитель отдела тестирования

Мой дневник

#5 nat

nat

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 14 марта 2005 - 06:54

Спасибо всем за ответы!
Действительно, OpenSta это то, что нужно в данном случае
еще один плюс - в тестах теперь стало гораздо больше порядка и определенности :-)
  • 0

#6 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 14 марта 2005 - 07:46

Дополнение.
Время выполнения не всей операции, а именно SQL запроса можно измерять с помощью Profiler, входящего в комплект MS SQL.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных