DeepEdit!

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

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

Измерение времени ядром Oracle

Ядро 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.

 









jAntivirus