Базы данных Oracle - статьи



              

Влияние на производительность - часть 2


  • блокировки на обращение к файлам БД (по одной блокировке на файл данных);
  • блокировка на транзакцию над контрольным файлом;
  • блокировка, управляющая job (работами);
  • блокировка на выделение/удаление сегментов в табличных пространствах TEMP и UNDO;
  • блокировка на выполнение действий над файлом паролей и файлом инициализации (ALTER SYSTEM SET …).
  • Для полноты картины попробуем численно оценить влияние блокировок на производительность сервера, для чего рассмотрим типичный отчет Statspack, секцию “Latch Activity for DB”. Понятно, что этот расчет довольно приблизительный, но, на мой взгляд, довольно показательный.

    У меня в наличии есть подходящий отчет для 16-процессорного сервера, частота каждого процессора которого составляет 1200МГц. Из отчета Statspack для этого сервера следует, что СУБД Oracle выполняет более 650 тысяч блокировок в секунду (точное значение 651801,9). По справочникам можно уточнить, что команды типа TSL для процессора UltraSparcIII - CASA и CASXA – требуют для своего выполнения 32 цикла. Тогда доля времени, в течение которого системная шина заблокирована, составит 651802*32/1200МГц = 0,0174, то есть 1,74% всего рабочего времени, другими словами 62,64 секунды в час.




    Содержание  Назад  Вперед