чет времени отклика
Ядро 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.
< Предыдущая | Следующая > |
---|