Настройка производительности Windows Server 2003
Ускоренный курс по мониторингу производительности
Инструментом выбора для диагностики причин производительности сервера является системный монитор. Вы можете получить доступ к монитору производительности, выбрав его в меню «Администрирование» Windows или введя команду PERFMON.MSC в командной строке «Выполнить».
Урок номер один, касающийся Performance Monitor, состоит в том, что информация, которую Performance Monitor сообщает вам, никогда не будет полностью точной. Причина в том, что Performance Monitor является запущенным процессом. Как и любой другой процесс, монитор производительности потребляет такие вещи, как циклы процессора, память и, возможно, ресурсы жесткого диска. Таким образом, объем доступных системных ресурсов, сообщаемый монитором производительности, немного меньше, чем фактически доступный, когда монитор производительности не работает. Несмотря на это, Performance Monitor достаточно точен, чтобы его можно было использовать для определения основной причины проблем, связанных с производительностью.
Некоторые люди утверждают, что ваши результаты будут более точными, если вы запустите Performance Monitor не на том компьютере, который вы отслеживаете. Даже удаленный запуск Performance Monitor потребляет некоторые ресурсы на машине, за которой вы следите.
Когда откроется монитор производительности, вы увидите экран, аналогичный показанному на рисунке A. Как вы можете видеть на рисунке, монитор производительности графически отображает производительность системы. Когда вы открываете системный монитор, он по умолчанию настроен на мониторинг определенных аспектов производительности системы. Я рекомендую отключить все измерения по умолчанию, чтобы вы могли начать с чистого листа. Для этого выберите счетчики в нижней части экрана по одному, а затем щелкните значок, напоминающий букву X. Теперь вы увидите экран, похожий на тот, что показан на рисунке B.
Рисунок A. Это экран монитора производительности по умолчанию.
Рисунок B. Так выглядит монитор производительности после удаления измерений по умолчанию.
Теперь пора приступить к выбору аспектов производительности системы, которые вы хотите отслеживать. Для этого щелкните значок, который выглядит как знак плюса. Когда вы это сделаете, вы увидите диалоговое окно «Добавить счетчики», показанное на рисунке C.
Рисунок C. Диалоговое окно «Добавить счетчики» позволяет вам выбрать, какие аспекты производительности системы вы хотите отслеживать.
Диалоговое окно «Добавить счетчики» разделено на несколько областей. Область вверху позволяет вам выбрать компьютер, за которым вы хотите следить. По умолчанию должна быть выбрана локальная система. Прямо под отслеживаемой системой находится раскрывающийся список Performance Objects. Объекты производительности — это не что иное, как общие классификации. Например, вы заметите, что на рисунке C выбран объект производительности процессора. Это означает, что все варианты выбора в приведенном ниже списке счетчиков будут относиться к измерению производительности процессора. Существуют также объекты производительности, связанные с такими вещами, как системная память, жесткий диск и сетевое подключение.
Сами счетчики — это то, что на самом деле измеряет производительность системы. Например, вы заметите, что на рисунке выбран счетчик % процессорного времени. Этот счетчик показывает, какой процент доступных циклов ЦП используется. Например, если счетчик % процессорного времени показывает 70, то ЦП работает на 70% мощности.
Самое время упомянуть, что обычно важнее смотреть на средние значения, а не на фактические значения. Предположим, например, что вы открыли новое приложение, и счетчик % процессорного времени подскочил до 100%. Это означает, что ЦП работает на максимальной мощности. Однако это не означает, что ЦП не соответствует возложенной на него нагрузке. Это просто означает, что был кратковременный всплеск активности, который довел процессор до 100% загрузки. Шипы совершенно нормальные. Пока средняя загрузка ЦП остается ниже 80%, все в порядке.
Еще одна вещь, о которой я хочу поговорить в отношении диалогового окна «Добавить счетчики», — это раздел «Экземпляр». В данном конкретном случае экземпляр не имеет большого значения. Однако, если бы я контролировал многопроцессорный сервер, раздел экземпляра позволил бы мне выбрать, какой процессор я хочу контролировать.
Основы мониторинга
Теперь, когда я дал вам краткий курс по использованию монитора производительности, пришло время приступить к диагностике производительности системы. Прежде чем мы начнем, я просто хочу упомянуть, что в Windows встроены сотни счетчиков. У меня нет места, чтобы рассказать обо всех из них. Вместо этого я просто сосредоточусь на некоторых из наиболее важных. Если вы хотите узнать больше о счетчике, который я не рассмотрел, просто выберите счетчик и нажмите кнопку «Объяснить».
Счетчики, связанные с диском
Если вы подозреваете, что жесткий диск вашей системы может быть узким местом для системы, то есть два счетчика, которые вы должны проверить в объекте производительности «Физический диск». Счетчиками являются % дискового времени и текущая длина очереди дисков.
Счетчик % дискового времени работает очень похоже на счетчик % процессорного времени, о котором я говорил ранее. Он показывает, какой процент времени занят жесткий диск. Вы хотите, чтобы среднее значение этого счетчика было как можно ниже (но не равно нулю). Среднее значение 90% или выше указывает на то, что жесткий диск не справляется с нагрузкой. Это может быть связано со слишком медленным жестким диском или чрезмерной подкачкой страниц. Подробнее о пейджинге я расскажу в разделе о памяти.
Счетчик Current Disk Queue Length показывает, сколько операций ввода-вывода ожидает освобождения жесткого диска. Опять же, это число должно быть как можно меньше. Эксперты расходятся во мнениях относительно приемлемого значения, но я считаю, что средняя длина очереди дисков должна быть не более трех.
Счетчики, связанные с памятью
В категории памяти есть ряд счетчиков, которые можно использовать для выявления низкой производительности, которая может быть вызвана нехваткой оперативной памяти. Вот некоторые из этих счетчиков:
СТРАНИЦ/СЕК — это значение подсчитывает, сколько раз в секунду компьютер должен обращаться к виртуальной памяти, а не к физической памяти. Значение выше 20 считается проблематичным, но может указывать на проблему со способом настройки виртуальной памяти, а не на проблему с физической памятью.
Выделенные байты и доступные байты. Счетчик выделенных байтов отслеживает объем используемой виртуальной памяти. Счетчик доступных байтов отслеживает, сколько памяти фактически доступно. Как и следовало ожидать, по мере уменьшения счетчика доступных байтов увеличивается подкачка, что замедляет работу компьютера. Если вы обнаружите, что доступных байтов часто не хватает, вы можете исправить проблему, добавив память. Однако, прежде чем вы это сделаете, попробуйте наблюдать за обоими счетчиками вместе, когда вы открываете и закрываете программы. Если выделенные байты не уменьшаются, а доступные байты не увеличиваются при закрытии программ, в системе может быть утечка памяти, которая вызвана проблемой программного обеспечения, а не нехваткой оперативной памяти.
Невыгружаемые байты пула и невыгружаемые ресурсы пула — еще один способ проверить наличие утечек памяти — посмотреть на эти два счетчика. Счетчик невыгружаемых байтов пула подсчитывает страницы памяти, которые нельзя переместить в виртуальную память, но которые должны оставаться в физическом ОЗУ. Обычно, если это значение слишком велико, вам придется добавить больше памяти. Тем не менее, вы можете наблюдать за счетчиком невыгружаемых аллоков пула, чтобы увидеть, сколько вызовов выполняется в этой части памяти. Если кажется, что количество вызовов не соответствует количеству страниц памяти, у вас может быть утечка памяти, а не нехватка памяти.
Кэш-байты — этот счетчик отслеживает объем памяти, используемый для кэша файловой системы. Все, что превышает 4 МБ, считается слишком большим. Решение состоит в том, чтобы добавить больше памяти.
Вывод
В этой статье я объяснил, что монитор производительности является предпочтительным инструментом для мониторинга производительности вашей системы. Затем я перешел к обсуждению некоторых наиболее важных счетчиков системного монитора.