Страница 1 из 1

Как измерить время выполнения транзакции?

Добавлено: 10 июл 2008, 08:35
VANESS
Возникла необходимость мерить время выполнения транзакции сервером IB. Простые засечки времени на клиенте дают время с учетом прохождения траффика по сети. В API IB необходимых функций, выдающих такую информацию, не нашел. Тогда интересует каким образом измеряется время выполнения транзакции в той же IBConsole. Просьба ногами сильно не пинать :) в вопросах работы с БД новичок

Добавлено: 10 июл 2008, 10:22
kdv
time1
StartTransaction
commit
time2

время = time2-time1

интересно, что за "необходимость" такая?
засечки времени на клиенте дают время с учетом прохождения траффика по сети.
а как Вы себе представляете это без учета трафика, и вообще?

Вот я сел за стол в 9 часов, и встал из-за него в 11. Просидел 2 часа.
Так и сервер. Сказал ему клиент стартовать транзакцию - он стартовал. И когда клиент вызовет коммит - серверу до лампочки, как и делает что-то клиент, не делает, по сети или локально данные гоняет, и т.д.
время выполнения транзакции в той же IBConsole.
это где? может, время выполнения запроса? Так все равно без трафика это не имеет смысла. Запрос может выполниться за 40 миллисекунд, а клиент данные будет тащить 5 минут. И ?

p.s. кстати, использование IBConsole навевает некоторые мысли.

Добавлено: 10 июл 2008, 10:57
VANESS
kdv писал(а): это где? может, время выполнения запроса? Так все равно без трафика это не имеет смысла. Запрос может выполниться за 40 миллисекунд, а клиент данные будет тащить 5 минут. И ?
А как именно на клиенте узнать что запрос отработался за эти 40 миллисекунд? Необходимо отсечь время выполнения запроса от времени передачи данных
kdv писал(а): p.s. кстати, использование IBConsole навевает некоторые мысли.
Какие мысли имеются ввиду? Какой инструментарий Вы можете порекомендовать?
P.S.
Спасибо большое)

Добавлено: 10 июл 2008, 11:03
kdv
А как именно на клиенте узнать что запрос отработался за эти 40 миллисекунд? Необходимо отсечь время выполнения запроса от времени передачи данных
a например Query.Open или ExecSQL - это что, не команда выполнения запроса?
Какие мысли имеются ввиду?
про IBConsole вместе с "IB" - нехорошие. Уж не про IB 6 ли речь?
Какой инструментарий Вы можете порекомендовать?
например, IBExpert.

Добавлено: 10 июл 2008, 11:32
VANESS
kdv писал(а): a например Query.Open или ExecSQL - это что, не команда выполнения запроса?
Из общего времени исполнения запроса интересует сколько времени приходится на работу СУБД, например время выполнения хранимой процедуры, и сколько времени тратится на обработку клиентом (клиент и сервер СУБД на разных хостах)

Добавлено: 10 июл 2008, 11:40
Attid
сдается мне он хочет получит

Код: Выделить всё

------ Performance info ------
Prepare time = 16ms
Execute time = 0ms
Avg fetch time = 0,00 ms
Current memory = 643 964
Max memory = 665 632
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 5
а про ИБ 6 , мне кажется он не просто так промолчал.

Добавлено: 10 июл 2008, 12:12
VANESS
Attid писал(а): а про ИБ 6 , мне кажется он не просто так промолчал.
Ввиду того, что
в вопросах работы с БД новичок
прошу разъяснить причем тут IB 6, используемая мною версия 7.5.1 SP1
Attid писал(а): сдается мне он хочет получит
Да именно это я и хочу получить)))

Добавлено: 10 июл 2008, 12:39
kdv
прошу разъяснить причем тут IB 6
при том, что ты не указал вначале версию IB.
Да именно это я и хочу получить
ну так и получи. Все эти тайминги вычисляются программно.
time1
действие
time2

хоть в консоли, хоть в IBExpert, хоть в твоей программе.

Добавлено: 10 июл 2008, 12:46
Merlin
Судя по безумности постановки задачи и упоминанию ХП, это есть лабораторка по использование CURRENT_TIMESTAMP на сервере.

Добавлено: 11 июл 2008, 10:30
Attid
Merlin писал(а):Судя по безумности постановки задачи и упоминанию ХП, это есть лабораторка по использование CURRENT_TIMESTAMP на сервере.
только если мне не изменяет память то CURRENT_TIMESTAMP ему не поможет =) только cast 'now' as timestamp =)

Добавлено: 11 июл 2008, 11:27
kdv
CURRENT_TIMESTAMP ему не поможет
ага