12. Настройка и оптимизация параметров операционной среды Windows NT Server и Windows NT Workstation
12.1. Показатели производительности и критерии оптимизации
Наблюдение за производительностью сервера Windows NT производится обычно для того, чтобы определить, достигнут ли максимум производительности по обслуживанию сетевых клиентов или нет? Для достижения этой цели в Windows NT Server имеется ряд средств, которые могут помочь сетевому администратору отобразить и зарегистрировать картину сетевой активности сервера. Эти средства собирают и записывают в файл статистику о работе сервера, на основании которой администратор может найти и исключить причину любой из возникших проблем.
Одной из целей разработчиков Windows NT было исключение многих непродуктивных параметров системы, с помощью которых администраторы влияли на производительность ранних сетевых операционных систем. Вместо этого в Windows NT были встроены адаптивные алгоритмы, которые определяют рациональные параметры системы во время ее работы. Windows NT Server может оптимизировать свои параметры в отношении многих известных сетевых проблем динамически, автоматически перераспределяя свои ресурсы, и не привлекая к решению администратора.
Оптимизация производительности - это процесс работы с имеющимися ресурсами для максимизации производительности по одному из четырех критериев:
- Наибольшая скорость выполнения определенного процесса;
- Наилучшее разделение процессора для нескольких процессов;
- Освобождение наибольшего количества оперативной памяти;
- Освобождение наибольшего количества дисковой памяти.
Обычно при оптимизации производительности Windows NT администратор начинает этот процесс при заданном наборе ресурсов в терминах быстродействия процессора, объемов оперативной и дисковой памяти. Задача оптимизации производительности включает приоритезацию этих ресурсов и нахождение подходящего баланса. Например, если целью является увеличение доступной оперативной памяти, то администратор может увеличить размер страничного файла, но это приведет к уменьшению доступного дискового пространства.
Если же нужно улучшить одновременно все критерии производительности, то нужно привлекать дополнительные ресурсы, например, более мощный процессор, дополнительную память или более емкий диск.
Выполнение вычислительной задачи может потребовать участия в работе нескольких устройств. Каждое устройство использует определенные ресурсы для выполнения своей части работы. Плохая производительность обычно является следствием того, что одно из устройств требует намного больше ресурсов, чем остальные. Чтобы исправить положение, администратор должен выявить устройство, которое требует наибольшей доли времени выполнения задачи.
При настройке производительности часто используются некоторые термины, которые желательно определить более точно.
Узкое место (bottleneck) - это то устройство системы, которое требует наибольшей доли времени выполнения задачи.
Например, если на выполнение задачи требуется 3 секунды, и 1 секунда тратится на выполнение программы процессором, а 2 секунды - на чтение данных с диска, то диск является узким местом.
Определение узкого места - это критический этап в процессе улучшения производительности. Замена процессора в предыдущем примере на другой, в 2 раза более быстродействующий процессор, уменьшит общее время выполнения задачи только до 2.5 секунд, но существенно исправить ситуацию не сможет, так как мы не устраним этим узкое место. Если же мы купим диск и контроллер диска, которые будут быстрее прежних в 2 раза, то общее время уменьшится до 2 секунд.
Устройство (device). Каждый физический компонент вычислительной системы следует рассматривать как устройство. К устройствам, которые наиболее часто оказываются узким местом системы, относятся процессор, память, диск и его контроллер, а также сетевой адаптер.
Задача (task) - это любой тип вычислительной работы. Задачей может быть обновление таблицы Microsoft Excel или отправка сообщения электронной почты.
Рабочий набор (working set)- это часть оперативной памяти (RAM), которая назначается процессу при выполнении.
12.2. Performance Monitor - средство измерения производительности
Performance Monitor - это утилита, разработанная для фиксации активности компьютера в реальном масштабе времени. С помощью этой утилиты можно определить большую часть узких мест, ухудшающих производительность. Эта утилита также включена в Windows NT Workstation.
Performance Monitor основан на ряде счетчиков, которые фиксируют такие характеристики, как число процессов, ожидающих завершения операции с диском, число сетевых пакетов, передаваемых в единицу времени, процент использования процессора и другие.
Performance Monitor генерирует полезную информацию за счет:
- Наблюдения за производительностью в реальном времени и в исторической перспективе;
- Определения тенденций во времени;
- Определения узких мест;
- Отслеживания последствий изменения конфигурации системы;
- Наблюдения за локальным или удаленными компьютерами;
- Предупреждения администратора о событиях, заключающихся в превышении некоторыми характеристиками заданных порогов.
Performance Monitor работает с такими понятиями, как объекты (objects), счетчики (counters) и экземпляры (instances). Объекты характеризуются различными характеристиками, значения которых подсчитываются соответствующими счетчиками. Объект каждого типа может быть представлен в системе несколькими экземплярами. Например, процессор - это объект, процент процессорного времени - это счетчик, а процессор 0 - это экземпляр объекта процессор.
Счетчики генерируют числа, и на основании этих чисел Performance Monitor определяет статистику. Собираемая в течение определенного времени статистика счетчиков отражает тенденции производительности. Это может помочь администратору понять проблему и оптимизировать сеть. Кроме того, такие данные помогают правильно расширять сеть.
Пользователь может устанавливать интервал времени, в соответствии с которым Performance Monitor будет обновлять данные в файлах регистрации (logs), на графиках (graphs) и в отчетах (reports). Каждое из значений счетчика - это среднее из последних двух замеров, разделенных заданным временным интервалом. Задание интервала времени может также сказаться на количестве памяти и процессорного времени, затрачиваемых утилитой Performance Monitor при работе.
Защита данных обеспечивается за счет того, что две функции Performance Monitor доступны только пользователям - членам административной группы. Это: возможность запускать Performance Monitor с приоритетом задачи реального времени и способность активизировать дисковые счетчики.
Данные, собранные Performance Monitor, можно экспортировать в другие программные продукты, такие как электронные таблицы и базы данных для дальнейшего анализа.
12.3. Объекты и счетчики Performance Monitor
12.3.1. Типы объектов
Объекты представляют в Performance Monitor процессы, секции разделяемой памяти и физические устройства. Процесс в Windows NT может представлять приложение (например, Word for Windows), сервис системы (например, Print Spooler) или подсистему окружения (например, Posix).
С каждым из объектов связан ряд счетчиков, значения которых можно наблюдать. В сущности, Performance Monitor предоставляет данные не об объектах, а о счетчиках.
Счетчики обычно включают ссылку на объект, к которому они относятся, в форме ОБЪЕКТ:СЧЕТЧИК. Например, PROCESSOR:%PROCESSOR TIME - это счетчик, учитывающий процент использования для данного процессора.
12.3.2. Процессы и экземпляры
Объект, соответствующий процессу, может быть представлен в нескольких экземплярах. Если в системе одновременно активны четыре процесса, то Performance Monitor будет генерировать данные для четырех экземпляров объекта типа процесс.
Любые объекты могут иметь несколько экземпляров. Например, объект Processor может иметь несколько экземпляров, если система многопроцессорная. Если объект имеет несколько экземпляров, то каждый экземпляр может использовать один и тот же набор счетчиков.
12.3.3. Адреса и нити
Каждый процесс, кроме выполняемого файла, имеет также область виртуального адресного пространства и по крайней мере одну нить. Каждая нить, работающая в операционной системе, отображается как отдельный экземпляр объекта типа нить и идентифицируется процессом, в рамках которого она выполняется. Например, если Printer Manager имеет две активные нити, то Performance Monitor идентифицирует их как экземпляры объектанити с именами Printman = 0 и Printman = 1.
12.3.4. Счетчики
С каждым объектом связан набор счетчиков, которые генерируют данные о различных аспектах производительности объекта. В следующей таблице собраны наиболее влияющие на производительность счетчики.
Тип объекта | Счетчик | Возможные действия |
Processor (процессор) | %Processor Time (время занятости процессора) | Если значение этого счетчика постоянно велико, а значения счетчика диска и сетевого адаптера невысоки, то нужно проверить процессор |
Physical Disk (физический диск) | %Disk Time (время занятости диска) | Если значение этого счетчика постоянно велико, и значение счетчика Disk Queue Length (длина очереди к диску) больше 2, то нужно проверить диск |
Memory (память) | Pages/sec (скорость обмена страниц) | Если этот счетчик постоянно больше 5, то нужно проверить память |
Server (сервер) | Bytes Total/sec (скорость обмена с памятью) | Если сумма значений счетчиков Bytes Total/sec для всех серверов сети примерно равна максимальной пропускной способности сети, то сеть нужно сегментировать |
12.3.5. Способы представления данных
Performance Monitor обеспечивает несколько вариантов представления собранных данных: режим просмотра графиков (chart view), режим отчета (report view), режим предупреждения (alert view) и режим регистрации в файле (log view). Режим просмотра графиков позволяет в реальном времени представлять в одном окне экрана в виде двухмерных графиков последовательные значения нескольких счетчиков.
В режиме отчета данные представляются в формате таблицы. Режим предупреждения позволяет во время работы утилиты Performance Monitor продолжать другие работы. При наступлении заранее определенного события монитор предупреждает администратора путем отображения соответствующего экрана. Предупреждение может происходить при первом наступлении события или при каждом. В этом режиме фиксируется максимум 1000 событий. Режим фиксации данных в файле позволяет просмотреть их позже в удобной форме - в виде графиков, отчетов и предупреждений.
12.3.6. Наблюдение за потреблением ресурсов процессора, дисков и памяти
Процессор
Так как процессор всегда выполняет некоторые команды, то теоретически коэффициент его использования всегда равен 100%. Однако в системе имеются так называемые "нити простоя", которые просто выполняют цикл ожидания следующего события для низкоуровневого кода ядра. Время выполнения этих нитей не учитывается при вычислении коэффициента использования в утилите Performance Monitor.
Performance Monitor характеризует использование процессоров объектами двух типов:
- System - характеризует общую загрузку всех процессоров системы;
- Processor - характеризует загрузку конкретного процессора.
В однопроцессорной системе эти значения совпадают.
Для этих объектов имеются три счетчика, связанные с коэффициентом использования:
- % [Total] Privileged Time - доля времени, которое процессор проводит в привилегированном режиме;
- % [Total] User Time - доля времени, которое процессор проводит в пользовательском режиме;
- % [Total] Processor time - доля времени, которое процессор проводит, занимаясь полезной работой, то есть не в нитях простоя.
Если значение счетчика % Processor Time превышает 80%, то это говорит о том, что процессор не справляется с работой, и он должен быть заменен на более мощный (или же должен быть добавлен еще один процессор, если система многопроцессорная).
Аналогичные счетчики существуют и для объекта Process. В этом случае они отражают коэффициент использования процессора только нитями одного конкретного процесса.
Кроме того, имеются и другие счетчики для характеристики работы процессоров, из которых наиболее важными являются следующие:
- Processor Queue Length - длина очереди к процессору, равна количеству нитей, готовых к выполнению и стоящих в очереди к процессору. Если в течение длительного времени средняя длина очереди превышает значение 2, то это говорит о том, что процессор является узким местом. Обычно значение этого счетчика равно 0.
- Interrupt/sec - количество прерываний в секунду, характеризует интенсивность запросов обслуживания от устройств ввода-вывода. Резкое увеличение значения этого счетчика без увеличения активности системы говорит об аппаратных проблемах.
Счетчик Process: % Processor Time нужно использовать для отслеживания коэффициента использования процессора для всех процессов. Если более чем два процесса претендуют на большую часть процессорного времени, то необходимо заменить или добавить процессор.
Диск
При наблюдении за диском нужно учитывать, что среднее время доступа к данным для большинства дисков находится в пределах от 8 до 18 миллисекунд.
Статистика о работе дисковой подсистемы может помочь в достижении баланса рабочей нагрузки сетевого сервера. Если дисковая подсистема достаточно производительна, то это создает меньшую нагрузку на подсистему виртуальной памяти и программы будут выполняться быстрее. Performance Monitor поддерживает два типа объектов, которые содержат счетчики дисковой подсистемы:
- Physical Disk - счетчики физического диска полезны для обнаружения неисправностей и планирования емкости.
- Logical Disk - счетчики, генерирующие статистику о свободном пространстве на диске и идентифицирующие любой источник активности на физическом томе.
С производительностью диска тесно связаны два счетчика: Disk Queue Length - средняя длина очереди запросов к диску, и Average Disk sec/Transfer - среднее время выполнения одного запроса к диску.
На основании значений этих счетчиков можно вычислить такой важный показатель, как среднее время ожидания в очереди, которое хорошо отражает производительность дисковой подсистемы.
Среднее время ожидания в очереди = Disk Queue Length x Average Disk sec/Transfer.
Обычно дисковые счетчики в системе отключены чтобы не снижать ее производительности.
Память
Оптимизация памяти состоит в определении трех вещей:
- корректного значения размера физической памяти;
- корректного значения размера страничного файла (ов);
- корректного распределения страничного файла (ов).
Для определения корректного значения физической памяти необходимо выполнить два шага. Во-первых, решить, нужна ли дополнительная память. Во-вторых, определить количество требуемой дополнительной памяти.
Решение о том, что дополнительная память нужна, принимается на основании количества страничных обменов, которые выполняет система. Если страничный обмен ведется интенсивно, то производительность существенно снижается.
Для того, чтобы определить, что страничный обмен ведется слишком интенсивно, нужно вычислить произведение:
Memory: Pages/sec x Logical Disk: Avg. Disk sec/Transfer,
где Logical Disk относится к диску, на котором находится страничный файл PAGE-FILE.SYS.
Это произведение равно доле времени доступа к диску, которое тратится на страничные обмены. Если эта доля больше 10% (0.1), то система нуждается в дополнительной памяти.
Следующий шаг состоит в определении количества дополнительной памяти. Эта величина определяется на основании значения счетчика Process: Working Set для каждого активного процесса в системе. Нужно по очереди завершать процессы в системе (начиная с процесса с самым большим значением рабочего набора) и следить за интенсивностью страничного обмена. После того, как интенсивность страничного обмена уменьшится до приемлемой величины, нужно найти суммарный объем памяти, потребляемой завершенными процессами, сложив их рабочие наборы. Этот объем и будет величиной требуемой дополнительной памяти.
12.4. Измерение сетевого трафика
Наблюдение за сетевой активностью включает:
- наблюдение за производительностью сервера;
- измерение общего сетевого трафика.
С сетевой активностью связано большое количество счетчиков. Все сетевые компоненты - Server, Redirector, протоколы NetBIOS, NWLink, TCP/IP - генерируют набор статистических параметров. Ненормальное значение сетевого счетчика часто говорит о проблемах с памятью, процессором или диском сервера. Следовательно, наилучший способ наблюдения за сервером состоит в наблюдении за сетевыми счетчиками в сочетании с наблюдением за такими счетчиками, как %Processor Time, %Disk Time и Pages/sec.
Например, если сервер показывает резкое увеличение счетчика Pages/sec одновременно с падением счетчика Total bytes/sec, то это может говорить о том, что компьютеру не хватает физической памяти для сетевых операций.
12.5. Оптимизация сетевого оборудования
Хотя имеется очень мало возможностей для непосредственной оптимизации сетевого адаптера, но сам выбор хорошего адаптера может удвоить производительность Windows NT Server. Для выбора сетевого адаптера имеются некоторые соображения. Во-первых, нужно выбирать такой адаптер, который использует всю разрядность шины ввода-вывода компьютера. Если компьютер имеет шину EISA, то нужен адаптер для этой шины, а не 8- или 16-разрядный адаптер.
Во-вторых, выбор сетевого адаптера включает выбор драйвера адаптера. Для Windows NT нужно выбирать адаптер, сертифицированный для работы по спецификации NDIS 3.x. Такую информацию можно найти в списке Windows NT Hardware Compatibility.
12.6. Оптимизация сервиса рабочей станции
Хотя редиректор Windows NT (сервис Workstation) является самонастраивающимся, администратор должен следить за показаниями нескольких счетчиков:
- Current Commands
- Network Errors/sec
- Remote Server Bottlenecks
Current Commands - это количество команд, которые находятся в очереди к редиректору. Если это число больше, чем одна команда на один сетевой адаптер, то редиректор может быть узким местом в системе. Это может происходить по трем причинам:
- Сервер, с которым взаимодействует редиректор, работает медленней, чем редиректор;
- Сеть испытывает перегрузки;
- Редиректор более загружен, чем адаптер.
Если выявлена перегруженность сети, то, возможно, ее можно несколько разгрузить за счет сегментации сети.
Network Errors/sec - это интенсивность возникновения серьезных сетевых ошибок, обнаруженных редиректором. Наличие таких ошибок говорит о том, что нужны дополнительные исследования. Целесообразно использовать для этой цели регистратор событий Event Log.
Производительность редиректора может ограничиваться за счет низкой производительности удаленных серверов, с которыми взаимодействует редиректор. В Performance Monitor есть два счетчика - Reads Denied/sec и Writes Denied/sec, ненулевые значения которых свидетельствуют о том, что удаленные серверы испытывают трудности с выделением оперативной памяти. Необходимо проверить серверы, с которыми данный редиректор обменивается большими файлами. Если на них нет возможности увеличить объем памяти, используемой для режима RAW I/O (рассматривается ниже), то на рабочей станции нужно запретить использование этого режима. Это делается с помощью установки переменных UseRawReads и UseRawWrites в состояние False.
12.7. Оптимизация сервера
Оптимизация Windows NT Server подобна оптимизации Windows NT Workstation за несколькими исключениями:
- Компоненты, поддерживающие пользовательский интерфейс, такие как мышь, клавиатура и видеоподсистема, меньше нуждаются в оптимизации, так как в большинстве случаев компьютер с Windows NT Server не будет поддерживать интерактивный доступ пользователей.
- Серверные компоненты в данном случае более важны, чем редиректор. Если память является узким местом, то можно уменьшить память, выделенную для редиректора и увеличить для сервера.
- Если сервер выполняет приложения, написанные в модели клиент-сервер, такие как SQL Server, SNA Server или приложения, поддерживающие механизм RPC, то к диску будет обращаться меньше приложений, так что распределение файлов между несколькими дисками может оказаться весьма полезным.
Серверные компоненты Windows NT можно сконфигурировать из панели Network утилиты Control Panel. Имеется четыре общих установки:
- Minimize Memory Used - минимизация используемой памяти, изначально уменьшает до 10 максимальное число соединений с клиентами.
- Balance - баланс между потребляемой памятью и производительностью, поддерживается до 64 соединений.
- Maximize Throughput For File Sharing - выделяется память для максимально поддерживаемого числа соединений (до 71 000 соединений).
- Maximize Throughput For Network Applications - выделяется память для максимально поддерживаемого числа соединений, но для кэша выделяется меньше памяти, чем в предыдущем случае.
Процесс обработки сетевых запросов сервером можно наблюдать с помощью счетчика WorkItemShortage объекта Server, а влиять на этот процесс можно путем задания значений для двух переменных базы Registry - InitialWorkItems и MaximumWorkItems. Work Item - это рабочая структура, которая используется сервером для постановки в очередь сетевых запросов от клиентов. Если сервер перегружен, то запрос от клиента может быть отклонен, так как в наличии нет свободной рабочей структуру для его фиксации. При возникновении такого события Performance Monitor наращивает значение счетчика WorkItemShortage. Администратор должен отслеживать этот счетчик и изменять значения переменных Registry, если это необходимо.
Два счетчика информируют администратора о том, что сервер достиг границы максимально доступной для него памяти:
- Pool Nonpaged Failures - количество попыток получения памяти из пула не охваченной страничным механизмом памяти, которые были неудачными из-за недостатка ресурсов. Эти события ясно указывают на то, что в компьютере не хватает физической памяти для работы сервера в данной конфигурации.
Pool Paged Failures - количество попыток получения памяти из пула свободных страниц, которые были неудачными из-за недостатка ресурсов. Это говорит либо о недостатке физической памяти, либо о недостаточном размере страничного файла.
12.8. Практические занятия
12.8.1. Ознакомление с функциональными возможностями Performance Monitor
Упражнение 1. Создание графика в реальном времени.
Установка параметров графика:
- Запустите Performance Monitor;
- В меню View выберите пункт Chart (График);
- В меню Edit выберите пункт Add To Chart. Появится окно диалога Add to Chart;
- В окне Object выберите Processor;
- Используя клавишу SHIFT, выберите все счетчики, относящиеся к объекту Processor, а затем выберите Add;
- Выберите Done.
Появится график, отображающий активность процессора в реальном масштабе времени.
Генерация активности процессора:
- При работающем Performance Monitor сыграйте один раз в какую-либо игру;
- Вернитесь к графику Performance Monitor;
- Выберите счетчик %Processor Time и обратите внимание на среднее его значение.
Примечание: для подсветки одного из графиков нужно выбрать его, а затем нажать CTRL+H;
- Минимизируйте окно Chart;
- Загрузите и минимизируйте File Manager и Disk Administrator;
- Вернитесь к графикам Performance Monitor;
- Обратите внимание на всплески активности, выраженные в форме пиков на графиках.
Упражнение 2. Регистрация активности процессора.
Для регистрации информации в файле на диске:
- Из меню View выберите пункт Log;
- Из меню Edit выберите пункт Add To Log. Появится окно диалога Add To Log;
- Из окна Objects выберите Processor, а затем Add;
- Выберите Done;
- Из меню Options выберите Log - появится окно Log Options;
- В поле File Name наберите имя файла, в котором будет регистрироваться активность процессора, например, PPP.LOG;
- Выберите параметр Periodic Update;
- В поле Interval установите значение 1.0. Затем нажмите кнопку Start Log.
Появится окно Performance Monitor, показывая динамически увеличивающийся размер файла PPP.LOG. При старте процесса регистрации значения всех счетчиков выбранного объекта (объектов) автоматически начинают заноситься в файл регистрации;
- Создайте активность процессора, загрузив какое-либо приложение или перемещая мышь;
- Соберите по крайней мере 100 К данных. Для этого проверяйте поле File Size в окне Performance Monitor;
- Остановите процесс регистрации, выбрав в меню Options пункт Log, а затем нажав кнопку Stop Log.
Для отображения зарегистрированной информации:
- Из меню View выберите пункт Chart;
- Из меню Options выберите пункт Data From - появится соответствующее окно диалога;
- Установите переключатель Data values displayed from в состояние Log File, а затем укажите имя файла PPP.LOG;
- Из меню Edit выберите Add To Chart;
- В окне Counter выберите все счетчики процессора, а затем нажмите Add;
- Выберите Done;
- В окне графиков появится вся собранная информация.
Упражнение 3. Просмотр данных в определенном интервале и создание отчета.
Для задания интервала просмотра данных:
- Из меню Edit выберите пункт Time Window;
- Настройте с помощью мыши диапазон просмотра так, чтобы была видна только половина графиков и нажмите OK;
- Обратите внимание на то, как изменилось среднее значение счетчика %Processor Time.
Для создания отчета.
- Из меню View выберите Report;
- Из меню Edit выберите Add to Report;
- В окне Add to Report выберите все счетчики для объекта Processor, а затем нажмите Add;
- Нажмите Done - появится отчет о средних значениях счетчиков из файла PPP.LOG за выбранный интервал времени;
- При создании отчета для оперативно наблюдаемых данных (при выбранном значении Current Activity переключателя Data From меню Options) в табличной форме с заданным периодом отображаются текущие значения счетчиков.
12.8.2. Идентификация и устранение узкого места
Сначала необходимо будет измерить производительность до появления в системе узкого места. Затем искусственно создается узкое место. С помощью Performance Monitor необходимо определить, что это за узкое место, и найти способ его устранения.
Для этого нужно:
- Используя Performance Monitor, определить устройство, которое является причиной узкого места в производительности;
- Идентифицировать процесс, который делает это устройство узким местом;
- Определить, как приоритеты приложений влияют на скорость выполнения приложений.
Подготовительные действия
Эта предварительная работа состоит из:
- Копирования программ-утилит с дискеты Student Lab Disk - находится в каталоге PERFMON на сервере CITNT.
- Создания большого файла тестирования производительности;
- Настройки дисковых счетчиков.
Утилиты с дискеты нужно скопировать в каталог c:\perf
Для создания тестирующего файла необходимо:
- Запустить Performance Monitor;
- Выбрать из меню View пункт Log, а из меню Edit - пункт Add to Log;
- Выбрать все имеющиеся объекты в окне Objects;
- В меню Options Log задать имя файла регистрации c:\perf\bigfile.log;
- Выбрать интервал 0.1 и нажмите кнопку Start Log;
- Размер файла bigfile.log должен быть равен размеру установленной оперативной памяти минус 7 Мб (то есть, например, для памяти в 16 Мб размер файла bigfile.log равен 9 Мб);
- При достижении файлом bigfile.log нужного размера остановите процесс регистрации нажатием кнопки Stop Log;
- Выгрузите утилиту Performance Monitor.
Для включения дисковых счетчиков:
- В командной строке наберите diskperf -y. Этот шаг необходим для разрешения наблюдения за дисковыми счетчиками;
- Перезапустите компьютер.
Упражнение 1. Измерение производительности.
В этом упражнении необходимо запустить приложение TEST1.EXE из каталога c:\perf для измерения времени его выполнения. Затем, после создания в системе узкого места, нужно снова запустить это приложение, чтобы увидеть, как изменилась производительность системы по его выполнению.
Установка приоритетов приложений:
- из Control Panel запустите утилиту System;
- нажмите кнопку Tasking;
- выберите переключатель Foreground And Background Applications Equally Responsive, нажмите OK. Тем самым приложению переднего плана, то есть тому, которое ведет в данный момент диалог с пользователем, и фоновым приложениям даются равные приоритеты;
- закройте утилиту System и минимизируйте Control Panel.
Запуск теста перед созданием узкого места:
- Запустите приложение C:\PERF\TEST1.EXE;
- Переместите окно TEST1 в левый верхний угол экрана;
- Из окна TEST1 выберите пункт Do Test меню. Тест запустится и отобразит время своего выполнения;
- Запишите количество секунд, понадобившихся для выполнения теста (6.59).
Для создания узкого места:
- Запустите командный файл C:\PERF\TESTING1.BAT. При этом стартуют 5 приложений, работающих в фоновом режиме;
- В окне TEST1 снова запустите тест с помощью меню Do Test;
- Запишите количество секунд, понадобившихся для выполнения теста (13.45).
Теперь у вас имеются времена выполнения теста до и после создания узкого места. В следующем упражнении нужно определить причину, создающую узкое место, и устранить ее.
Упражнение 2. Определение устройства, являющегося узким местом.
В этом упражнении вы создадите отчет для выявления узкого места.
Для создания отчета:
- Запустите Performance Monitor;
- Установите размер окна Performance Monitor по возможности наибольшим, оставляя место для окна TEST1 и иконок приложений внизу экрана;
- Из меню View выберите Report;
- Из меню Options выберите Report;
- В поле Periodic Update задайте интервал 1.0;
- Из меню Edit выберите Add to Report;
- Выберите каждый из следующих объектов, счетчиков и реализаций, а затем нажмите Add;
Object | Counter | Instance |
Processor | %Processor Time | 0 |
Physical disk | %Disk Time | 0 и 1 (если существует) |
Memory | Pages/sec | не определена |
- После добавления счетчиков к отчету, выберите Done - появится отчет Performance Monitor.
Идентификация узкого места:
- Используйте средние значения счетчиков в отчете, чтобы определить, какое устройство является узким местом;
- В данном упражнении это процессор - коэффициент его использования примерно равен 100% .
Упражнение 3. Определение процесса, который является причиной того, что процессор стал узким местом.
Создание графика:
- Из меню View выберите Chart;
- Из меню Edit выберите Chart;
- В окне Chart Options выберите Histogram;
- Из меню Edit выберите Add to Chart;
- Выберите для наблюдения объект Process и счетчик %Processor Time для реализаций APP-1, APP-2, APP-3, APP-4, APP-5 и TEST1;
- После нажатия кнопки Done появится график Performance Monitor.
Идентификация приложения:
- Наблюдайте за цветными столбиками гистограммы, определяя их принадлежность каждому из приложений;
- Выясните, какое из приложений перегружает процессор (APP-5).
Упражнение 4. Определение и изменение приоритетов.
В этом упражнении вы сможете определить приоритеты выбранных приложений.
Запуск теста:
- При выполнении следующих шагов нужно наблюдать за окном графиков Performance Monitor;
- Из окна TEST1 выберите меню Do Test - запустится тестовое приложение;
- Во время выполнения теста определите, какое приложение расходует наибольшую долю процессорного времени, когда TEST1 и APP-5 работают одновременно: TEST1, APP-5 или оба? Ответ: оба;
- Как вы предполагаете, с какими приоритетами выполняются эти приложения? Ответ: с равными.
Определение значений приоритетов:
- Из меню Edit выберите Add to Chart;
- Выберите объект Process, счетчик Priority base и реализации APP-5 и TEST1 и нажмите Done;
- После обновления графиков на экране, выясните значения счетчиков Priority base для приложений APP-5 и TEST1. Ответ: Они равны 7;
- Используя комбинацию клавиш ALT-TAB, выберите попеременно приложения APP-5 и TEST1. Выясните, изменяются ли при выборе какого-либо из этих приложений их приоритеты? Почему так происходит? Ответ: Нет. Приложения переднего плана и фоновые имеют равные приоритеты - так установлено переключателем выбора приоритетов в утилите System панели Control Panel.
Изменение приоритетов приложений переднего и заднего плана:
- В утилите System установите переключатель в положение Best Foreground Application Response Time;
- Закройте утилиту System и минимизируйте Control Panel.
Просмотр приоритетов:
- Вернитесь в Performance Monitor;
- Выберите в окне график Priority base приложения TEST1;
- С помощью комбинации клавиш ALT+TAB выберите в качестве приложения переднего плана TEST1;
- Выясните приоритет приложения TEST1? Ответ: 9;
- Из окна TEST1 выберите пункт меню Do Test. Обратите внимание на прямоугольник %Processor Time для процессов TEST1 и APP-5;
- Запишите количество секунд, которое потребовалось тесту для его выполнения. Результат должен измениться из-за изменения приоритета для приложения переднего плана;
- Используя комбинацию клавиш ALT+TAB, попеременно делайте приложением переднего плана TEST1 и APP-5. Обратите внимание на изменение их приоритетов.
Упражнение 5. Очистка системы.
В этом упражнении вы приведете систему в состояние, необходимое для выполнения упражнений по следующей проблеме:
- Выберите и закройте приложения TEST1, APP-1, APP-2, APP-3, APP-4, APP-5;
- Из меню File в Performance Monitor выберите New Chart для очистки окна графиков;
- Из меню View выберите Report- окно Report исчезнет;
- Минимизируйте Performance Monitor;
- Максимизируйте Control Panel и запустите System;
- Установите переключатель приоритетов в положение Foreground And Background Application Responsive;
- Закройте приложение System и минимизируйте Control Panel.
12.8.3. Использование Performance Monitor для анализа файлового кэша
В этой части лабораторной работы Performance Monitor будет использоваться для :
- Исследования операций Windows NT с файловым кэшем;
- Сравнения доступа к физическому диску с различными видами доступа к файловому кэшу:
- Опережающее чтение (read ahead);
- Обратная запись (write behind);
- Чтение из кэша (cache read).
Оценка выигрыша в производительности операций ввода-вывода при использовании кэша.
Упражнение 1. Подготовка компьютера.
- Запустите приложение C:\PERF\IOTEST.EXE;
- Переместите окно приложения IOTEST.EXE в левый верхний угол экран;
- Используя Control Panel или Server Manager, остановите сервисы Netlogon и Computer Browser на вашем компьютере. Эти сервисы периодически выполняют операции ввода-вывода с диском. Если эти сервисы не остановить, то они могут внести искажения в результаты упражнения;
- Минимизируйте Program Manager;
- Восстановите Performance Monitor.
Упражнение 2. Сквозная запись (write-through) в кэш.
Конфигурирование Performance Monitor:
- Из меню File Performance Monitor выберите пункт Open. Откроется окно диалога File Open для загрузки файла с заранее установленными опциями для режима просмотра графиков Performance Monitor;
- В поле File Name наберите c:\perf\wcache.pmc и нажмите OK. Появится окно графиков с заранее заданными установками.
В файле WCACHE.PMC установлен режим Gallery to Graph, Periodic Update с интервалом 0.5 с, а также добавлены следующие счетчики к графику:
Object | Counter | Instance | Описание |
Memory | Cache bytes | - | Объем памяти, назначенной файловому кэшу |
Cache | Lazy write Bps | - | Интенсивность записи на диск байт в "ленивом" режиме Cache Manager |
Physical Disk | Disk write Bps | 0 | Интенсивность записи байт, реально записанных на диск |
Конфигурирование теста ввода-вывода:
- Выберите приложение IOTEST;
- Выберите меню Settings;
- Заполните поля окна диалога Settings:
- File Name: C:\PERF\IOTEST.TMP;
- File Size: 3 000 000;
- I/O Size: 64 000;
- Action: Write и Write Through;
- Pause: 0.
- Нажмите ОК.
Наблюдение и тестирование производительности:
- Вернитесь в Performance Monitor;
- Из меню Edit выберите Clear Display. Отметка времени окна графика установится при этом в крайнее левое положение;
- Немедленно после этого в окне IOTEST нажмите Do Test. В окне Performance Monitor вы увидите регистрацию активности;
- Как только кривые активности в окне Performance Monitor стабилизируются (но перед достижением отметкой времени крайне правого положения), из меню Options выберите Chart;
- Под надписью Update Time выберите Manual Update, а затем нажмите ОК. Эти действия вызовут останов прокрутки времени наблюдения, для того, чтобы можно было спокойно анализировать полученные результаты.
Анализ производительности:
- Запишите количество секунд, которые затратил тест для выполнения сквозной записи. В этом тесте приложение IOTEST записало 3 Мб данных на диск С. Вы выбрали режим Write Through, поэтому операции записи не будут возвращать управление тесту, пока данные действительно не будут записаны на диск;
- Проанализируйте полученные графики перед тем, как ответить на следующие вопросы;
- Когда данные записывались на диск (желтая линия), записывались ли они также и в кэш (малиновая линия)? Ответ: Да;
Если бы теперь эти же данные были считаны с диска, читались бы они из файлового кэша или же непосредственно с диска? Ответ: Некоторые данные считались бы из кэша, но большинство считалось бы с диска.
После записи данных (как в режиме write-behind, так и в режиме write-through), до тех пор, пока системе не нужна память, отведенная под кэш, данные остаются в нем, пока файл не закроется. Когда файл закрыт (как можно видеть из графика), данные исчезают из кэша. Когда файл снова начинает последовательно читаться, и если страницы кэша не были еще использованы менеджером виртуальной памяти для других целей, то эти страницы будут быстро отображены снова в кэш и данные будут прочитаны из кэша, без обращения к диску.
Этот факт будет анализироваться в следующем упражнении.
Упражнение 4. Чтение данных из кэша.
Конфигурирование Performance Monitor:
- Из меню File Performance Monitor выберите пункт Open;
- В поле File Name наберите c:\perf\rcache.pmc и нажмите OK. Появится окно графиков с заранее заданными установками.
В файле RCACHE.PMC установлен режим Gallery to Graph, Periodic Update с интервалом 0.5 с, а также добавлены следующие счетчики к графику.
Object | Counter | Instance | Описание |
Memory | Cache bytes | - | Объем памяти, назначенной файловому кэшу |
Cache | Fast reads/sec | - | Интенсивность успешных операций чтения из кэша |
Physical Disk | Disk read bytes/sec | 0 | Интенсивность чтения байт, реально считанных с диска |
- Из окна IOTEST выберите Do Test;
- Подождите, пока графики не успокоятся;
- Из окна IOTEST выберите Settings;
- Установите активность Read, а Write сбросьте;
- Выберите ОК.
Наблюдение и тестирование производительности:
- Вернитесь в Performance Monitor;
- Из меню Edit выберите Clear Display;
- Немедленно после этого в окне IOTEST нажмите Do Test. В окне Performance Monitor вы увидите регистрацию активности;
- Как только кривые активности в окне Performance Monitor стабилизируются (но перед достижением отметкой времени крайне правого положения), из меню Options выберите Chart;
- Под надписью Update Time выберите Manual Update, а затем нажмите ОК. Эти действия вызовут останов прокрутки времени наблюдения, для того чтобы можно было спокойно анализировать полученные результаты.
Анализ производительности:
- Запишите количество секунд, которые затратил тест для выполнения чтения. В этом тесте приложение IOTEST читает 3 Мб данных на диск С. Благодаря ранее выполненному тесту записи, данные все еще находятся в памяти (хотя и не в кэше). Связанные с файлом страницы были возвращены в кэш и данные были считаны непосредственно из кэша;
- Проанализируйте полученные графики перед тем, как ответить на следующие вопросы;
- Откуда были считаны данные, с диска (красная линия) или из кэша (зеленая линия)? Ответ: из кэша;
- Были ли какие-либо данные считаны с диска? Ответ: нет.
Упражнение 5. Чтение данных не из кэша.
Конфигурирование Performance Monitor:
- Из меню Options Performance Monitor выберите Chart;
- Установите переключатель в режим Periodic Update.
Создание ситуации чтения данных непосредственно с диска.
Мы хотим, чтобы тест читал данные непосредственно с диска. Однако, данные по прежнему находятся в памяти, как мы убедились в предыдущем тесте. Поэтому, нужно использовать страницы, хранящие данные кэша. Для этого:
- Скопируйте файл c:\perf\bifile.log в каталог c:\, а затем удалите его оттуда;
- Посмотрите на графиках, как изменялся размер кэша (Cache Bytes) во время этой операции.
Измерение производительности чтения:
- Повторите все шаги по измерению производительности теста IOTEST и сравните полученные результаты.
12.8.4. Изучение анализатора протоколов Network Monitor
Часть 1. Инсталляция Network Monitor
- Войдите в компьютер или домен как член группы администраторов. Подключитесь к share disk_d на сервере CITNT домена CIT_NT под именем admin с паролем adminnt.
- Войдите в каталог NetMon на disk_d, а затем в подкаталог disk1.
- Запустите программу Setup - появится панель Microsoft Network Monitor Setup.
- Согласитесь с каталогом C:\NM, который предлагается по умолчанию для установки Network Monitor на вашем компьютере (предварительно убедитесь, что права доступа к каиалогу С:\ для администратора - Full Control, иначе Setup не сможет создать свой каталог).
- После копирования файлов на ваш диск появится окно Network Monitor Password с запросом о задания пароля для доступа к этой программе. Пароль не задавайте и выберите кнопку No Password.
- В новой панели задайте ваше имя - любое, для дальнейшей работы оно не используется.
- После этого появится сообщение о том, что инсталляция прошла успешно, но вам требуется еще установить из Control Panel новый сетевой сервис - Network Monitor Agent и автоматически появится панель установки сетевх сервисов (Если вы ее случайно закрыли, то войдите в Control Panel и запустите Network).
- Нажмите кнопку Add и выберите из списка Network Monitor Agent (а не Network Monitor Tools and Agent), а затем Close.
- После инсталляции не соглашайтесь с приглашением перезагрузить компьютер. Сначала запустите соответствующий Service Pack с share disk_d.
Часть 2. Работа с Network Monitor
- Во время инсталляции Network Monitor создает в главном меню в разделе Programs пункт Network Analysis Tools с подпунктом Network Monitor. Используйте его для запуска Network Monitor.
- Сначала необходимо выбрать сеть, трафик которой вы хотите контролировать. Это делается с помощью меню Capture и пункта Networks. В появившейся панели отображаются все сетевые интерфейсы, которые имеются у вашего компьютера - сетевые адаптеры (если их несколько) и COM-порты службы RAS, если она установлена на компьютере. Интерфейс RAS отличается от сетевых адаптеров тем, что он имеет Ethernet-адрес 000000000000. Интерфейсы вашего компьютера имеют тип LOCAL. Данная версия Network Monitor взята из набора утилит System Management Server и отличается от версии Network Monitor из поставки Windows NT Server тем, что может подключаться к любым агентам Network Monitor Agent, работающим не только на том компьютере, где вы запустили Network Monitor, но и на других компьютерах сети. Агент другого компьютера отмечен как интерфейс типа REMOTE и изначально он имеет состояние DISCONNECTED. Для работы с удаленным агентом нужно его подсветить и нажать кнопку Connect, затем в появивишемся окне задать имя компьютера, на котором работает интересующий вас агент (поле Agent Name), например, ws10 и нажать Connect. В данной работе сначала необходимо выбрать локальную сеть, имеющую отличный от нулей адрес Ethernet (например, 000000127674).
- Для начала захвата пакетов в буфер необходимо в меню Capture выбрать пункт Start. Немедленно после этого ваш сетевой адаптер начнет захватывать все пакеты, появляющиеся в сегменте сети, к которому подключен компьютер.
- Одновременно с захватом пакетов отображается статистика - Network Utilization (коэффициент загрузки сегмента), количество кадров в секунду и т.п.
- Для останова режима захвата кадров необходимо в меню Capture выбрать пункт Stop and View. При этом на экране появится новое окно, в котором будут показаны все пакеты, захваченные в буфер.
- Каждый пакет отображается одной строкой, в котрой имеются адреса источника и назначения кадра Ethernet, а также тип протокола самого верхнего уровня, который вложен в этот кадр, например, SMB, LLC, FTP, DNS и т.п.
- Каждый кадр можно отобразить более детально, щелкнув по нему два раза мышью. В новом окне каждый вложенный в кадр пакет протокола отображается одной строкой, и этот пакет можно также отобразить более детально аналогичным образом.
- Для более удобного рассмотрения сессии между двумя определенными компьютерами можно наложить на захваченные кадры фильтр, который отсеивает на экране не относящиеся к интересующей вас сессии кадры. Для этого в меню Display окна нужно выбрать пункт Filter и в появивишейся панели два раза щелкнуть по условию фильтрации ANY <-> ANY. В появившейся панели выбрать имена или адреса интересующих вас компьютеров.
- Для более удобной работы с захваченными пакетами можно заменить адреса сетевых адаптеров компьютеров на их имена. Для этого нужно войти в верхнее меню Tools и выбрать пункт Resolve Addresses from Names. Далее в поле Name нужно задать известное имя интересующего вас компьютера и нажать кнопку Run Query. После поиска в нижней части панели появится имя и найденный адрес. Для запоминания найденного соответствия нужно нажать кнопку Keep Names, а затем Done. После этого в таблице захваченных пакетов Ethernet-адрес данного компьютера будет заменен на его имя.
- Захваченные пакеты можно сохранить в файле для дальнейшего анализа с помощью меню File и пункта Save. Создается файл с расширением .cap, который впоследствии можно прочитать с помощью пункта Open.
Задание:
- Захватите несколько десятков пакетов и познакомьтесь с возможностями анализа пакетов. Замените адреса компьютеров их именами.
- Примените фильтр для отображения пакетов, получаемых и отправляемых вашим компьютером всем остальным компьютерам сети.
- Захватите сессию перекачки небольшого файла (10-20 Кбайт) с какого-либо компьютера сети на ваш компьютер. Отфильтруйте пакеты, неотносящиеся к этой сессии. Проанализируйте этапы сессии - запрос на открытие файла с известным вам именем, пакеты передачи данных файла и завершение сессии.
Назад |
Содержание |
Вперед