Как проверить производительность сервера windows 2012

Обновлено: 07.07.2024

Возможности расширенной безопасности, появившиеся в Windows 8 и Windows Server 2012, требовали значительных изменений в способе, которым средства производительности Visual Studio собирают данные на этих платформах. Для приложений универсальной платформы Windows также требуются новые методы сбора. Этот раздел описывает изменения средств производительности, начиная с платформ Windows 8 и Windows Server 2012.

Средства производительности в других поддерживаемых версиях Windows (Windows 7, Windows Server 2008 R2) не изменились.

Сбор данных в приложениях универсальной платформы Windows из интегрированной среды разработки Visual Studio

Эти функции и параметры профилирования не поддерживаются при профилировании приложений универсальной платформы Windows:

Дополнительные сведения о профилировании приложений универсальной платформы Windows см. в следующих статьях:

Сбор данных в приложениях, выполняющихся на рабочем столе в Windows 8 или в Windows Server 2012, из интегрированной среды разработки Visual Studio

Профилирование с помощью метода инструментирования не изменено для Windows 8.

Профилирование уровневого взаимодействия (TIP) с помощью метода выборки не поддерживается.

Сбор данных в приложениях, выполняющихся на рабочем столе в Windows 8 или в Windows Server 2012, с помощью выборки из интегрированной среды разработки Visual Studio

Эти функции и параметры профилирования не поддерживаются при профилировании приложения Windows 8 для настольных систем или приложения Windows Server 2012 с помощью метода выборки:

Профилирование уровневого взаимодействия (TIP). Поддерживается сбор данных TIP с помощью метода инструментирования.

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

Профилирование из командной строки

Используйте две следующие программы командной строки для сбора данных профилирования на устройствах Windows 8 и Windows Server 2012, в том числе тех, на которых не установлен Visual Studio.

Имя средства Description
VSPerf Сбор данных профилирования из приложений универсальной платформы Windows и сбор данных профилирования методом выборки из классических приложений Windows 8 и приложений Windows Server 2012.
VSPerfCmd Сбор данных профилирования инструментирования, параллелизма и уровневого взаимодействия из приложений, которые выполняются на рабочем столе Windows 8 или Windows Server 2012. Сбор всех типов данных профилирования из предыдущих версий Windows.

Обе программы устанавливаются с помощью Visual Studio для использования на локальном компьютере.

Для профилирования приложений на устройствах, на которых не установлен Visual Studio, выполните одно из следующих действий.

Загрузите программы командной строки как часть инструментов удаленной отладки для Visual Studio с веб-сайта MSDN.

Скопируйте и запустите программу установки инструментов автономного профилировщика с компьютера Visual Studio. Сведения о пути к Средствам профилирования см. в статье Указание пути к программам командной строки средств профилирования. Выберите программу установки для операционной системы удаленного компьютера (x86 или x64).

Для сбора данных профилирования TIP необходимо установить автономный профилировщик с компьютера с Visual Studio на удаленный компьютер.

Следующие функции и параметры профилирования не поддерживаются при профилировании приложений Windows 8 Windows Server 2012 из командной строки.

Сбор данных из веб-приложений Windows 8 и Windows Server 2012 с помощью метода выборки с VSPerfASPNetCmd.

Сбор данных выборки с помощью VsPerfCmd.exe.

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

Сбор данных уровневого взаимодействия (TIP)

Выпуски Visual Studio

Сведения о профилировании уровневого взаимодействия можно собирать с помощью любого выпуска Visual Studio. Но данные профилирования уровневого взаимодействия можно просматривать только в Visual Studio Enterprise.

Windows 8 и Windows Server 2012

Чтобы собрать данные об уровневом взаимодействии из приложений, выполняющихся на рабочем столе Windows 8 или Windows Server 2012, необходимо использовать метод инструментирования.

Вы не можете собрать данные о взаимодействии уровней для приложений универсальной платформы Windows.

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

Мастер производительности и обозреватель производительности

Необходимо добавить параметр коллекции данных об уровневом взаимодействии в сеанс профилирования из обозревателя производительности. Необходимо также добавить проект, исполняемый файл или веб-сайт к узлу целевого объекта в "Обозревателе производительности". См. Сбор данных взаимодействия уровней.

Сбор данных об уровневом взаимодействии на удаленном компьютере

Чтобы собирать сведения об уровневом взаимодействии на удаленном компьютере, необходимо скопировать и установить файл vs_profiler_ <Platform> _ <Language> .exe из папки %VSInstallDir%\Team Tools\Performance Tools\Setups на компьютере с Visual Studio. Нельзя использовать средства профилирования в пакете загрузки Удаленная отладка.

Для сбора данных профилирования можно использовать VSPerfCmd или VSPerfASPNetCmd .

Отчеты TIP

Данные об уровневом взаимодействии можно просматривать только в Visual Studio Enterprise Получение отчетов об уровневом взаимодействии (TIP) на основе файлов с помощью VSPerfReport недоступно.

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

Причина выбрать ОС, которая потребляет меньше ресурсов виртуального сервера вполне понятна: не очень приятно платить за то, чтобы «кормить» современную операционную систему при том, что её расширенный функционал не используется.

В данной статье мы решили рассмотреть, сколько же можно получить дополнительных ресурсов (и можно ли вообще) если установить устаревшую ОС на арендуемый VDS сервер.

В тесте участвовали 64-битные операционные системы:

  1. Windows Server 2012 R2
  2. Windows Server 2008 R2 SP1
  3. Windows Server 2003 R2 SP2

Используя программное обеспечение «PerformanceTest», мы провели 5 тестов замера производительности процессора с интервалом 1 час каждый:

Операционная система Тест 1 Тест 2 Тест 3 Тест 4 Тест 5
Windows Server 2012 R2 2438 3392 3543 3673 3526
Windows Server 2008 R2 SP1 3078 3536 3384 3634 3413
Windows Server 2003 R2 SP2 3531 3448 3454 3529 3450
В таблице показан общий результат производительности вычислений с плавающей точкой (CPU Floating Point Math). Продолжительность теста в настройках ПО: Very Long. Приоритет процессов не менялся для обеспечения оптимального результата для User Experience.


Из результатов видно, что сразу после создания сервера доступная производительность системы для задач клиента ниже всего на Windows Server 2012 и выше всего на Windows Server 2003. Обуславливается это тем, что Win 2012 и Win 2008 после установки ещё некоторое время «отъедают» ресурсы системы для оптимизации дальнейшей работы своих модулей, но уже через 10-15 минут ресурсы освобождаются в полное пользование клиента. Из-за данного эффекта может показаться, что новые ОС требуют значительно больше ресурсов для своей работы, однако, как показал тест, это неверно.

Далее с использованием ПО «CrystalDiskMark» замерили производительность дисковой системы, получив следующие результаты:


В любой версии Windows Server одинакова производительность дисковой системы, доступная для клиента.

По результатам теста однозначно можно сказать, что не стоит выбирать устаревшие операционные системы исходя из принципа экономии ресурсов – доступная вам производительность практически идентична в любых версиях ОС. На ряду с этим более современные версии обеспечат большую безопасность, надёжность и функциональность вашего VPS сервера.

PS: совсем скоро выйдет новейшая серверная операционная система от Microsoft: Windows Server 2016, лицензионную копию которой UltraVDS одним из первых предоставит в пользование своим клиентам!

Обзор утилит для анализа производительности на сервере

Как понять, хорошо ли, как быстро и насколько правильно работает сервер? По сути, приведённые далее проверки можно осуществлять на любом сервере, компьютере либо виртуальной машине. Для начала необходимо разобраться с основными терминами, которые будут использованы.

Утилита — компьютерная программа для выполнения специализированных задач, связанных с работой оборудования и операционной системы устройства.

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

Мы видим утилиты в качестве ярлыков на рабочих столах, файлов скриптов, вызываем их из командной строки или двойным щелчком. Однако внутри содержится программный код, который за нас производит все необходимые действия.

Утилиты могут входить в состав операционных систем, идти в комплекте со специализированным оборудованием или распространяться отдельно (в таком случае их нужно скачать либо установить из репозитория).

Производительность (вычислительная мощность компьютера) — это скорость выполнения определённых операций на компьютере, которую можно представить (измерить) количественной характеристикой (процентами, секундами, флопсами).

Оценка реальной вычислительной мощности производится путём прохождения специальных тестов, предназначенных для проведения некоторых операций и измерения времени их выполнения.

В нашем случае всю работу по тестированию и оценке данных (насколько это возможно) будут производить утилиты. Мы увидим лишь конечный результат. Основная задача: понять, что именно означают выводимые значения.

Для верной интерпретации полученных фактов необходимо также понимать: существует взаимосвязь между различными аппаратными компонентами, в сумме они влияют на производительность сервера (будь то Windows или Linux).

По этой причине мы будет рассматривать отдельно несколько параметров работы системы. В сумме их показатели влияют на общую производительность системы. Измерив всего один показатель, нельзя сказать, что работа происходит плохо, долго или некорректно.

Сейчас большинство серверов работают на основе операционной системы Linux, поэтому мы рассмотрим её более подробно в первую очередь. Вторую популярную в большей степени для домашнего использования систему Windows тоже не обойдём стороной.

Важно помнить, что приведённые утилиты имеют свои аналоги в обеих системах. Поэтому будут рассмотрены основные принципы работы наиболее популярных команд и программ. Дополнительные данные можно найти в открытом доступе сети Интернет. На форумах и в других источниках. Главное - понять, что искать. Приступим.

Сервер:

★ Linux Linux

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

Мониторинг состояния системы с разбиением по процессам

Поиск проблемных мест стоит начать с использования команды top.

Данная утилита широко используется для анализа программ в режиме реального времени. Набрав в командной строке top, мы сразу же видим динамическую выдачу процессов, которые в данный момент выполняются, спят или ожидают своей очереди. Однако сейчас нас в большей степени интересует самый верх - шапка - вывода команды. Выглядит это следующим образом:

Показатели, на которые стоит обратить внимание, помечены красным цветом, их показатели - зелёным. В данном случае значения были выделены вручную для наглядности.

Более яркий вывод может обеспечить использование htop - это аналог рассматриваемой нами системной утилиты top, но для начала разберёмся с тем, на что стоит обращать внимание в обоих случаях.

Показатели загруженности системы: load average и %CPU, us, id, wa

1. load average

Состоит из трёх чисел и демонстрирует усреднённую загрузку сервера за 1, 5 и 15 минут. Чем ниже значения, тем лучше.

Простое правило: значения не должны быть больше количества процессоров.

2. %CPU

Какие процессы сколько процессорных ресурсов потребляют:

Загрузка пользовательскими процессами. Если ваш сервер постоянно не загружен ресурсоёмкими операциями типа конвертации видео, то этот показатель не должен превышать 10-20%.

Процент времени бездействия процессора должен быть высоким, в норме - от 80.

Ожидание операций ввода/вывода, чем ниже, тем лучше (иначе процессор слишком долго ждёт ответы от диска или сети).

Существует целый набор консольных утилит для измерения и анализа производительности системы - sysstat:

  • iostat - показывает статистику использования процессора и потоков ввода/вывода для дисков;
  • mpstat - выводит информацию об отдельных параметрах и общей статистике по процессору;
  • isag - построение графика активности системы в интерактивном режиме;
  • pidstat - мониторинг отдельных задач, управление которыми осуществляется ядром Linux.

Последнюю утилиту стоит рассмотреть подробнее. Для её использования мы сможем применить информацию, полученную с помощью предыдущей программы - top.

Pidstat - это утилита, которая предназначена для сбора и вывода статистики использования ресурсов процессами.

Команда сообщает об использовании процессорного времени. Мы используем её с флагом -р (что означает, сейчас мы будет указывать PID):

PID необходимого процесса вы можете посмотреть в результатах вывода той же команды top: первый столбец сообщается process id (мы указали PID 611 и 1102).

Таким образом мы узнаём количество выделяемых ресурсов процессам с определённым идентификационным номером в системе.

После необходимо указать время в секундах, в течение которого будет осуществляться проверка (в данном случае это 10 секунд). Вы можете задавать время на своё усмотрение в зависимости от задач, которые предстоит решить.

В завершение указываем число отчётов, которые желаем видеть по итогу.

При помощи флага -d можно получить статистику ввода/ вывода (остальные показатели остались неизменными):

При помощи флага -r можно получить статистику использования оперативной памяти:

Использование оперативной памяти

Для подробного отчёта об использовании всей оперативной памяти на устройстве подойдёт:

Windows pure performance

Запуск Resource Monitor под Windows Server

Наиболее простой способ запуска это в окне Run (команда Win + R) набрать комманду perfmon /res.

Windows Server Resource Monitor Run

Task Manager Performance

Вкладка Performance дает общую информацию о системе, которая может быть также полезна. Можно понять загрузка какого ресурса близка к 100%: памяти, CPU или локальной сети.

Использование Resource Monitor для поиска причины почему тормозит сервер.

Очень часто поиск причины тормозов сервера начинают с проверки загруженности дисковой системы. Ниже представлено окно Resource Monitor на вкладе Disk.

HDD - частая причина почему тормозит сервер

На вкладке Disk Activity показана загруженность в процентах. Если загрузка, близка к 100%, то скорее всего дисковая система является причиной низкой производительности системы. Щелкая по заголовку Total (B / Sec) можно отсортировать файлы с которыми в данный момент роботает система по объему чтетния и записи на диск. Наиболее загруженный файл и будет причиной тормозов системы. Зная какой файл создает высокую нагрузку гораздо легче понять, какой процесс нагружает систему. Если это какой-то системный файл начинающийся с C:/Windows, то есть смысл воспользоваться поисковой системой, чтобы понять, какой системной службе принадлежит данный файл.

Следущей причиной может стать Сетевая нагрузка. Особенно это актуально для VPS серверов. В случае если вы подключаетесь по RDP то сетевый задержки могут ощущаться как тормоза сервера. Переходим на вкладку Network:

Сетевая нагрузка возможная причина тормозов сервера

В первую очередь обращаем внимание на общую нагрузку сети. Если она близка к 100% процентам, то скорее всего проблема в сети. На вкладке Processes with Network Activity и TCP Connections мы можем найти название процесса, который нагружает сеть. К сожалению, системные и серверный службы запускаются при помощи системного файла svchost.exe, и часто непонятно какая именно служба загружает сеть. Но если, вы видите, что причина в svchost.exe, то причину нужно искать в службах Windows.

Бывает так, что вы запустили слишком много программ и у вас банально не хватает оперативной памяти. В этом случае нам может помочь вклада Memory. Иформация по процессам аналогична вкладке Network:

Resource Monitor Memory

Самый простой случаей это загрузка CPU. Ее можно посмотреть на вкладке как на вкладке CPU так и в обычном Task Manager:

Читайте также: