Россия, г. Санкт-Петербург |
Планирование мощности системы
Как узнать длительность операций чтения
Длительность операций чтения в вашей системе можно определить при помощи утилиты Performance Monitor. Включите Diskperf при помощи следующей команды, вводимой в окне MS-DOS:
diskperf -y
Затем запустите Performance Monitor и наблюдайте в объекте Physical Disk за счетчиками Avg. Disk sec/Read и Avg. Disk sec/Write. Обратите внимание, что эти счетчики дают вам среднее время для операций физического чтения. Для определения длительности логического чтения операций эти счетчики неприменимы.
Сбор данных о загруженности одного центрального процессора
После того как ваша система будет реализована, потребуется тщательно следить за загруженностью центрального процессора, так же, как и за памятью. В Performance Monitor имеется множество счетчиков, связанных с измерением загруженности отдельных центральных процессоров. Эти счетчики находятся в объекте Processor. Для задач предварительного планирования мощности наиболее полезны следующие счетчики:
- % Processor Time. Процент истекшего времени, в течение которого процессор был занят, исполняя команды. Команда (instruction) – это минимальная единица работы, исполняемой компьютером, поток (thread) – это объект, который выполняет команды, а процесс (process) – это объект, создаваемый при запуске программы. Счетчик % Processor Time можно рассматривать как долю времени, расходуемого на выполнение полезной работы.
- % Privileged Time. Процент времени, в течение которого процессор работал в привилегированном режиме (Privileged mode). В привилегированном режиме исполняются уровень обслуживания Windows NT (service layer), программы Executive и ядро Windows NT. Драйверы большинства устройств (кроме графических адаптеров и принтеров) также исполняются в привилегированном режиме.
- % User Time. Процент времени, в течение которого процессор работал в пользовательском режиме (User mode). В пользовательском режиме также исполняются графические алгоритмы, драйверы графических устройств, драйверы принтеров и Window Manager. Программы, исполняемые в пользовательском режиме, не могут повредить целостность Windows NT Executive, ядра и драйверов устройств.
- % Interrupt Time. Процент времени, затраченного процессором на обработку аппаратных прерываний. Прерывания выполняются в привилегированном режиме, поэтому время, затраченное на их обработку, входит в состав показателя % Privileged Time. Этот счетчик помогает выяснить причину чрезмерно большого времени работы в привилегированном режиме.
- Interrupts/sec. Этот счетчик содержит среднее количество прерываний устройств, поступающих к процессору за одну секунду. Устройства прерывают работу процессора в случаях, когда они завершили выполнение задачи или когда требуются вмешательство процессора по какой-либо другой причине. Прерывания могут генерировать такие устройства, как системный таймер, мышь, канал обмена данными, сетевая интерфейсная плата, а также другие периферийные устройства. Во время прерываний нормальное исполнение потока приостанавливается, и в результате прерывания процессор может переключиться на исполнение другого потока, с более высоким приоритетом. Прерывания от таймера происходят часто и периодически и образуют фон активности прерываний.
Для предварительного планирования мощности могут понадобиться не все эти показатели; выбор применяемых показателей зависит от глубины проводимого вами исследования. По крайней мере, следует использовать счетчик % Processor Time.
Сбор данных о загруженности нескольких центральных процессоров
При помощи Performance Monitor вы можете также получить усредненные данные для нескольких центральных процессоров. Для этого воспользуйтесь объектом System, содержащим, среди прочих, следующие счетчики:
- % Total Processor Time. Сумма показателей % Processor Time всех процессоров, деленная на количество процессоров в системе.
- % Total Privileged Time. Сумма показателей % Privileged Time всех процессоров, деленная на количество процессоров в системе.
- % Total User Time. Сумма показателей % User Time всех процессоров, деленная на количество процессоров в системе.
- % Total Interrupt Time. Сумма показателей % Interrupt Time всех процессоров, деленная на количество процессоров в системе.
- Total Interrupts/sec. Среднее количество прерываний устройств, поступающих к процессорам за одну секунду. Этот счетчик служит признаком загруженности системных устройств в масштабах всего компьютера.
Анализ данных о загруженности центральных процессоров
Информация, собранная при помощи счетчиков Performance Monitor, может применяться для прогнозирования увеличения нагрузки на отдельные центральные процессоры, следствием которого станет увеличение времени отклика для этого процессора. На рис. 6.6 показан график загруженности центрального процессора (значения загруженности для разных дат). Обратите внимание, что тренд загруженности центрального процессора растет и достигнет 75% порога 18 февраля 2000 года.