Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Процедуры оптимизации WindowsNT с помощью утилиты PerformanceMonitor




Характеристика PerformanceMonitor

PerformanceMonitor - это утилита, разработанная для фиксации активности компьютера в реальном масштабе времени. С помощью этой утилиты можно определить большую часть узких мест, ухудшающих производительность. Эта утилита также включена в WindowsNTWorkstation.

PerformanceMonitor основан на ряде счетчиков, которые фиксируют такие характеристики, как число процессов, ожидающих завершения операции с диском, число сетевых пакетов, передаваемых в единицу времени, процент использования процессора и другие.

PerformanceMonitor генерирует полезную информацию за счет:

· Наблюдения за производительностью в реальном времени и в исторической перспективе;

· Определения тенденций во времени;

· Определения узких мест;

· Отслеживания последствий изменения конфигурации системы;

· Наблюдения за локальным или удаленными компьютерами;

· Предупреждения администратора о событиях, заключающихся в превышении некоторыми характеристиками заданных порогов.

PerformanceMonitor работает с такими понятиями, как объекты (objects), счетчики (counters) и экземпляры (instances). Объекты описываются различными характеристиками, значения которых подсчитываются соответствующими счетчиками. Объект каждого типа может быть представлен в системе несколькими экземплярами. Например, процессор - это объект, процент процессорного времени - это счетчик, а процессор 0 - это экземпляр объекта процессор.

Счетчики генерируют числа, и на основании этих чисел PerformanceMonitor определяет статистику. Собираемая в течение определенного времени статистика счетчиков отражает тенденции производительности. Это может помочь администратору понять проблему и оптимизировать сеть. Кроме того, такие данные помогают правильно расширять сеть.

Счетчики обычно включают ссылку на объект, к которому они относятся, в форме ОБЪЕКТ:СЧЕТЧИК. Например, PROCESSOR:%PROCESSORTIME - это счетчик, учитывающий процент использования для данного процессора.

С каждым объектом связан набор счетчиков, которые генерируют данные о различных аспектах производительности объекта. В таблице 2.1 собраны наиболее влияющие на производительность счетчики.

Таблица 2.1

Тип объекта Счетчик Возможные действия
Processor (процессор) %ProcessorTime (время занятости процессора) Если значение этого счетчика постоянно велико, а значения счетчика диска и сетевого адаптера невысоки, то нужно проверить процессор
PhysicalDisk (физический диск) %DiskTime (время занятости диска) Если значение этого счетчика постоянно велико, и значение счетчика DiskQueueLength (длина очереди к диску) больше 2, то нужно проверить диск
Memory (память) Pages/sec (скорость обмена страниц) Если этот счетчик постоянно больше 5, то нужно проверить память
Server (сервер) BytesTotal/sec (скорость обмена с памятью) Если сумма значений счетчиков BytesTotal/sec для всех серверов сети примерно равна максимальной пропускной способности сети, то сеть нужно сегментировать

Защита данных обеспечивается за счет того, что две функции PerformanceMonitor доступны только пользователям - членам административной группы. Это: возможность запускать PerformanceMonitor с приоритетом задачи реального времени и способность активизировать дисковые счетчики.

Данные, собранные PerformanceMonitor, можно экспортировать в другие программные продукты, такие как электронные таблицы и базы данных для дальнейшего анализа.

Наблюдение за потреблением ресурсов процессора, дисков и памяти

Процессор

Так как процессор всегда выполняет некоторые команды, то теоретически коэффициент его использования всегда равен 100%. Однако в системе имеются так называемые "нити простоя", которые просто выполняют цикл ожидания следующего события для низкоуровневого кода ядра. Время выполнения этих нитей не учитывается при вычислении коэффициента использования в утилите PerformanceMonitor.

PerformanceMonitor характеризует использование процессоров объектами двух типов:

· System - характеризует общую загрузку всех процессоров системы;

· Processor - характеризует загрузку конкретного процессора.

В однопроцессорной системе эти значения совпадают.

Для этих объектов имеются три счетчика, связанные с коэффициентом использования:

· % [Total] PrivilegedTime - доля времени, которое процессор проводит в привилегированном режиме.

· % [Total] UserTime - доля времени, которое процессор проводит в пользовательском режиме.

· % [Total] Processortime - доля времени, которое процессор проводит, занимаясь полезной работой, то есть не в нитях простоя.

Если значение счетчика % ProcessorTime превышает 80%, то это говорит о том, что процессор не справляется с работой, и он должен быть заменен на более мощный (или же должен быть добавлен еще один процессор, если система многопроцессорная).

Аналогичные счетчики существуют и для объекта Process. В этом случае они отражают коэффициент использования процессора только нитями одного конкретного процесса. Кроме того, имеются и другие счетчики для характеристики работы процессоров, из которых наиболее важными являются следующие:

· ProcessorQueueLength - длина очереди к процессору, равна количеству нитей, готовых к выполнению и стоящих в очереди к процессору.

Если в течение длительного времени средняя длина очереди превышает значение 2, то это говорит о том, что процессор является узким местом. Обычно значение этого счетчика равно 0.

· Interrupt/sec - количество прерываний в секунду, характеризует интенсивность запросов обслуживания от устройств ввода-вывода. Резкое увеличение значения этого счетчика без увеличения активности системы говорит об аппаратных проблемах.

· Счетчик Process: % ProcessorTime нужно использовать для отслеживания коэффициента использования процессора для всех процессов. Если более чем два процесса претендуют на большую часть процессорного времени, то необходимо заменить или добавить процессор.

Диск

При наблюдении за диском нужно учитывать, что среднее время доступа к данным для большинства дисков находится в пределах от 8 до 18 миллисекунд.

Статистика о работе дисковой подсистемы может помочь в достижении баланса рабочей нагрузки сетевого сервера. Если дисковая подсистема достаточно производительна, то это создает меньшую нагрузку на подсистему виртуальной памяти и программы будут выполняться быстрее. PerformanceMonitor поддерживает два типа объектов, которые содержат счетчики дисковой подсистемы:

· PhysicalDisk - счетчики физического диска полезны для обнаружения неисправностей и планирования емкости.

· LogicalDisk - счетчики, генерирующие статистику о свободном пространстве на диске и идентифицирующие любой источник активности на физическом томе.

С производительностью диска тесно связаны два счетчика: DiskQueueLength - средняя длина очереди запросов к диску, и AverageDisksec/Transfer - среднее время выполнения одного запроса к диску.

На основании значений этих счетчиков можно вычислить такой важный показатель, как среднее время ожидания в очереди, которое хорошо отражает производительность дисковой подсистемы.

Среднее время ожидания в очереди = DiskQueueLengthxAverageDisksec/Transfer.

Обычно дисковые счетчики в системе отключены, чтобы не снижать ее производительности.

Память

Оптимизация памяти состоит в определении следующих параметров:

· корректного значения размера физической памяти;

· корректного значения размера страничного файла;

· корректного распределения страничного файла.

Для определения корректного значения физической памяти необходимо выполнить два шага. Во-первых, решить, нужна ли дополнительная память. Во-вторых, определить количество требуемой дополнительной памяти.

Решение о том, что дополнительная память нужна, принимается на основании количества страничных обменов, которые выполняет система. Если страничный обмен ведется интенсивно, то производительность существенно снижается.

Для того, чтобы определить, что страничный обмен ведется слишком интенсивно, нужно вычислить произведение:

Memory: Pages/sec x Logical Disk: Avg. Disk sec/Transfer,

где LogicalDisk относится к диску, на котором находится страничный файл PAGEFILE.SYS.

Это произведение равно доле времени доступа к диску, которое тратится на страничные обмены. Если эта доля больше 10%, то система нуждается в дополнительной памяти.

Следующий шаг состоит в определении количества дополнительной памяти. Эта величина определяется на основании значения счетчика Process: WorkingSet для каждого активного процесса в системе. Нужно по очереди завершать процессы в системе (начиная с процесса с самым большим значением рабочего набора) и следить за интенсивностью страничного обмена. После того, как интенсивность страничного обмена уменьшится до приемлемой величины, нужно найти суммарный объем памяти, потребляемой завершенными процессами, сложив их рабочие наборы. Этот объем и будет величиной требуемой дополнительной памяти.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...