DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Учет времени отклика

чет времени отклика


Ядро Oracle передает в файл трассировки значения времени двух кате­горий:
Время, потраченное внутри вызова базы данных.
Время, прошедшее между вызовами базы данных.
Общее время отклика сеанса представляет собой сумму всех длитель­ностей вызовов базы данных и длительностей промежутков между вы­зовами. Для того чтобы не забыть учесть какой-нибудь промежуток времени или, наоборот, не учесть что-то лишнее, необходимо пони­мать, к чему относится каждая строка файла трассировки.

Время внутри вызова базы данных
Фрагмент файла трассировки, приведенный в примере 5.3, отобража­ет действия, потребляющие время в рамках трех различных вызовов базы данных. Первый вызов представляет собой разбор, который про­должался 306 микросекунд. Ядро любезно выдало секцию PARSING IN CURSOR перед строкой PARSE, так что мы можем сказать, что же было подвергнуто разбору. Далее ядро выводит строку EXEC, означающую, что вызов исполнения для курсора завершен, что потребовало дополнительных 146 микросекунд времени. Затем речь идет о двух систем­ных вызовах чтения, которые указаны в двух строках WAIT. «Родитель­ской» операцией, породившей эти вызовы чтения, является вызов вы­борки, статистика которого отражена в строке FETCH.
Пример 5.3. Фрагмент файла трассировки, иллюстрирующий потребление времени тремя вызовами базы данных
Общая продолжительность вызова выборки составила 21340 цс. Со­ставляющие времени отклика для этого вызова приведены в табл. 5.5.
Строки вызовов чтения находятся в файле трассировки перед строкой родительской выборки, т. к. ядро Oracle выдает статистику для опера­ции только по ее завершению. Инструкции ядра Oracle, породившие приведенные строки трассировки, должны были выглядеть как-то так:
Статистика e для вызова базы данных - это фактическая продолжи­тельность всего вызова базы данных. Другими словами, значение e включает в себя все время процессора, потребленное в течение вызова (которое передано в значении с), плюс все длительности событий ожи­дания в контексте данного вызова базы данных (переданы в значениях ela). Это соотношение отображено на рис. 5.1, формально же его мож­но записать следующим образом:
Речь идет о базовом соотношении временных статистик Oracle в рамках одного вызова базы данных. Оно является приблизительным за счет на­личия таких факторов, как влияние измерительного инструмента, ошибка квантования, время без выполнения каких-либо действий и на­личие в ядре Oracle сегментов кода, лишенных измерительных средств, о которых мы поговорим в главе 7.

 









jAntivirus