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

         

Миф об узком месте - 0% простоя ЦП


Если коэффициенты использования вашего ЦП постоянно показывают отсутствие резервных мощностей, это означает наличие в вашей системе узких мест по ЦП.

Факт

Позвольте сначала задать вопрос: испытывает ли в настоящее время ваша система проблемы с производительностью? Если нет, то ничего делать и не нужно. Если имеются проблемы, связанные с временами реакции приложений, начните с проверки процентов времени ЦП, затрачиваемого на ожидание ввода-вывода (%wio в команде sar -u в Unix, %Interrupt Time в объекте Processor в Windows NT). Затем найдите время на проверку накладных расходов операционной системы (%sys в команде sar -u в Unix, %Privileged Time в объекте Processor в Performance Monitor ОС Windows NT). Здесь для нашего обсуждения также очень важны такие накладные расходы ОС, как высокая частота контекстных переключений (десятки или тысячи за секунду), большая интенсивность подкачки страниц (скажем, 20000+ страниц за секунду), - все это нужно исследовать. Если значения %wio и %sys постоянно превышают 15%, требуется дополнительное исследование для определения причины возникновения таких высоких значений. Помните, цель - вылечить от болезни, а не только изучать симптомы.

Например, если %wio в выводе sar -u (или в соответствующем показателе Windows NT) постоянно превышает 40%, это говорит о том, что 40% времени ЦП в вашей системе теряется и не используется, так как ЦП ожидает выполнения запросов на ввод-вывод. Значит, в действительности производительность системы ограничивается узкими местами ввода-вывода, а не узкими местами ЦП.

Другой случай: %sys в выводе sar -u постоянно превышает, скажем, 30%. В этом случае сначала нужно исследовать причину потребности в таких больших накладных расходах операционной системы. Вы должны осознавать, что 30% мощности ЦП в вашей системе потребляется операционной системой. Даже до постановки вопроса о какой-либо модернизации ЦП следует определить причины проблем ввода-вывода или больших накладных расходов операционной системы.

После устранения этих причин нужно для уменьшения объема логического ввода-вывода переписать приложения, интенсивно использующие ЦП (например, с коррелированными подзапросами), используя встраиваемые представления. Это нужно сделать потому, что существенная доля потребления времени ЦП в сеансах Oracle затрачивается на выполнение логического ввода-вывода. После разрешения всех перечисленных выше проблем следует выполнить мониторинг очереди активных задач, чтобы проверить, является ли ЦП по-прежнему узким местом. Если в очереди активных задач постоянно находится в 2-3 раза больше задач чем количество ЦП в системе, следует рассмотреть вопрос о модернизации ЦП. Очередь активных задач можно проверить в выводе vmstat -S в Unix или в счетчике Queue Length в объекте Server Work Queues в Windows NT [Vaidyanatha, 8].



Содержание раздела