Как измерить время выполнения транзакции?
Модератор: kdv
Как измерить время выполнения транзакции?
Возникла необходимость мерить время выполнения транзакции сервером IB. Простые засечки времени на клиенте дают время с учетом прохождения траффика по сети. В API IB необходимых функций, выдающих такую информацию, не нашел. Тогда интересует каким образом измеряется время выполнения транзакции в той же IBConsole. Просьба ногами сильно не пинать в вопросах работы с БД новичок
time1
StartTransaction
commit
time2
время = time2-time1
интересно, что за "необходимость" такая?
Вот я сел за стол в 9 часов, и встал из-за него в 11. Просидел 2 часа.
Так и сервер. Сказал ему клиент стартовать транзакцию - он стартовал. И когда клиент вызовет коммит - серверу до лампочки, как и делает что-то клиент, не делает, по сети или локально данные гоняет, и т.д.
p.s. кстати, использование IBConsole навевает некоторые мысли.
StartTransaction
commit
time2
время = time2-time1
интересно, что за "необходимость" такая?
а как Вы себе представляете это без учета трафика, и вообще?засечки времени на клиенте дают время с учетом прохождения траффика по сети.
Вот я сел за стол в 9 часов, и встал из-за него в 11. Просидел 2 часа.
Так и сервер. Сказал ему клиент стартовать транзакцию - он стартовал. И когда клиент вызовет коммит - серверу до лампочки, как и делает что-то клиент, не делает, по сети или локально данные гоняет, и т.д.
это где? может, время выполнения запроса? Так все равно без трафика это не имеет смысла. Запрос может выполниться за 40 миллисекунд, а клиент данные будет тащить 5 минут. И ?время выполнения транзакции в той же IBConsole.
p.s. кстати, использование IBConsole навевает некоторые мысли.
А как именно на клиенте узнать что запрос отработался за эти 40 миллисекунд? Необходимо отсечь время выполнения запроса от времени передачи данныхkdv писал(а): это где? может, время выполнения запроса? Так все равно без трафика это не имеет смысла. Запрос может выполниться за 40 миллисекунд, а клиент данные будет тащить 5 минут. И ?
Какие мысли имеются ввиду? Какой инструментарий Вы можете порекомендовать?kdv писал(а): p.s. кстати, использование IBConsole навевает некоторые мысли.
P.S.
Спасибо большое)
a например Query.Open или ExecSQL - это что, не команда выполнения запроса?А как именно на клиенте узнать что запрос отработался за эти 40 миллисекунд? Необходимо отсечь время выполнения запроса от времени передачи данных
про IBConsole вместе с "IB" - нехорошие. Уж не про IB 6 ли речь?Какие мысли имеются ввиду?
например, IBExpert.Какой инструментарий Вы можете порекомендовать?
Из общего времени исполнения запроса интересует сколько времени приходится на работу СУБД, например время выполнения хранимой процедуры, и сколько времени тратится на обработку клиентом (клиент и сервер СУБД на разных хостах)kdv писал(а): a например Query.Open или ExecSQL - это что, не команда выполнения запроса?
сдается мне он хочет получит
а про ИБ 6 , мне кажется он не просто так промолчал.
Код: Выделить всё
------ 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