Ядро Oracle выводит информацию о времени лишь нескольких типов. Данные расширенной трассировки SQL включают в себя четыре важных статистики. Все они содержатся в приведенных ниже двух строчках, сформированных ядром Oracle версии 9.0.1.2.0 в системе Solaris 5.6:
Эти две соседние строки данных трассировки описывают один вызов выборки базы данных. Посмотрим, какие временные статистики в них присутствуют:
ela= 14118
Фактическое время выполнения системного вызова db file sequential read ядром Oracle составило 14 118 микросекунд (мкс, где 1 мкс =
0,000001 секунды).
c=0
Ядро Oracle сообщает, что на вызов выборки было потрачено 0 мкс процессорного времени.
e=15656
Ядро Oracle сообщает, что фактическая продолжительность вызова выборки составила 15 656 мкс.
tim=1017039276349760
Системное время завершения вызова - 1 017 039 276 349 760 (выражено в количестве микросекунд, прошедших после полуночи по всеобщему скоординированному времени (Coordinated Universal Time -UTC) 1 января 1970 года).
Общая фактическая продолжительность выборки включает в себя и общее время пользования процессором, и любое время, потраченное на выполнение событий ожидания Oracle. Статистики, собранные в двух строках файла трассировки, связаны между собой следующим отношением:
В данном случае с точки зрения человека точность достаточно хороша: 15 656 и 0 + 14 118, погрешность составляет 0,001538 секунды.
Каждый отдельный вызов базы данных (такой как разбор, исполнение или выборка) порождает всего одну строку вызова базы данных (PARSE, EXEC или FETCH) в файле трассировки (в том числе и рекурсивные вызовы, которые могут последовать за отдельным вызовом базы данных). В то же время один вызов базы данных может породить несколько строк WAIT, представляющих системные вызовы для каждой действующей строки курсора. Рассмотрим фрагмент файла трассировки, в котором присутствуют 6288 вызовов db file sequential read, выполненных одним вызовом выборки:
Таким образом, корректное соотношение, связывающее значения c, e и ela для определенного вызова базы данных, должно содержать сумму значений ela, полученных в контексте данного вызова базы данных:
Данное соотношение служит основой любых измерений времени отклика ядром Oracle.
< Предыдущая | Следующая > |
---|