Значения счетчиков производительности windows

Диагностика проблем с производительностью приложений на узлах сеансов удаленных рабочих столов с помощью счетчиков производительности Use performance counters to diagnose app performance problems on Remote Desktop Session Hosts

Применяется к: Windows Server 2019, Windows 10 Applies to: Windows Server 2019, Windows 10

Плохая производительность приложений (когда приложения работают медленно или не отвечают) — одна из самых сложных проблем в плане диагностики. One of the most difficult problems to diagnose is poor application performance—the applications are running slow or don’t respond. В большинстве случаев диагностику начинают со сбора данных о ЦП, памяти, дисковых операциях ввода/вывода и других метриках, после чего пытаются выяснить причину проблемы с помощью таких средств, как Windows Performance Analyzer. Traditionally, you start your diagnosis by collecting CPU, memory, disk input/output, and other metrics and then use tools like Windows Performance Analyzer to try to figure out what’s causing the problem. К сожалению, в большинстве случаев эти данные не помогают определить основную причину, так как данные счетчиков потребления ресурсов часто существенно колеблются. Unfortunately, in most situations this data doesn’t help you identify the root cause because resource consumption counters have frequent and large variations. Из-за этого трудно сопоставить прочитанные данные с обнаруженной проблемой. This makes it hard to read the data and correlate it with the reported issue.

Счетчик задержки ввода данных пользователем совместим только с такими ОС: The User Input Delay counter is only compatible with:

  • Windows Server 2019 или более поздней версии; Windows Server 2019 or later
  • Windows 10 версии 1809 или более поздней. Windows 10, version 1809 or later

Счетчик задержки ввода данных пользователем может помочь быстро определить основную причину медленной производительности в рамках сеанса удаленного рабочего стола. The User Input Delay counter can help you quickly identify the root cause for bad end user RDP experiences. Этот счетчик измеряет, какой период времени ввод данных пользователем (например, с помощью мыши или клавиатуры) остается в очереди перед тем, как процесс его подхватит. Он работает в локальных и удаленных сеансах. This counter measures how long any user input (such as mouse or keyboard usage) stays in the queue before it is picked up by a process, and the counter works in both local and remote sessions.

На следующем рисунке показано примерное представление потока ввода данных пользователем, поступающего от клиента к приложению. The following image shows a rough representation of user input flow from client to application.

Счетчик задержки ввода данных пользователем измеряет максимальную разницу (в пределах интервала времени) между тем, когда ввод помещается в очередь и когда приложение получает его в традиционном цикле обработки сообщений, как показано на следующей блок-схеме. The User Input Delay counter measures the max delta (within an interval of time) between the input being queued and when it’s picked up by the app in a traditional message loop, as shown in the following flow chart:

Следует отметить, что этот счетчик сообщает максимальную задержку ввода данных пользователем в пределах настраиваемого интервала. One important detail of this counter is that it reports the maximum user input delay within a configurable interval. Это самое продолжительное время, за которое ввод поступает в приложение, что может повлиять на скорость выполнения важных видимых действий, таких как ввод. This is the longest time it takes for an input to reach the application, which can impact the speed of important and visible actions like typing.

Читайте также:  Долго не выключается компьютер подготовка windows

Например, в приведенной ниже таблице задержка ввода данных пользователем в пределах этого интервала будет составлять 1000 мс. For example, in the following table, the user input delay would be reported as 1,000 ms within this interval. Счетчик сообщает наибольшую задержку ввода данных пользователем в пределах интервала, потому что пользователь рассматривает медленную реакцию как самое медленное время ввода (максимальное), а не как среднюю скорость всех вводов данных. The counter reports the slowest user input delay in the interval because the user’s perception of «slow» is determined by the slowest input time (the maximum) they experience, not the average speed of all total inputs.

Номер Number 0 0 1 1 2 2
Задержка Delay 16 мс 16 ms 20 мс 20 ms 1000 мс 1,000 ms

Включение новых счетчиков производительности и их использование Enable and use the new performance counters

Чтобы использовать эти новые счетчики производительности, необходимо сначала включить раздел реестра, выполнив следующую команду: To use these new performance counters, you must first enable a registry key by running this command:

Если вы используете Windows 10, версия 1809 или более поздняя, либо Windows Server, версия 2019 или более поздняя, вам не требуется включать раздел реестра. If you’re using Windows 10, version 1809 or later or Windows Server 2019 or later, you won’t need to enable the registry key.

После этого нужно перезапустить сервер. Next, restart the server. Затем откройте системный монитор и щелкните значок плюс (+), как показано на следующем снимке экрана. Then, open the Performance Monitor, and select the plus sign (+), as shown in the following screen shot.

После этого появится диалоговое окно «Добавить счетчики», где можно выбрать пункт User Input Delay per Process (Задержка ввода данных пользователем на процесс) или User Input Delay per Session (Задержка ввода данных пользователем на сеанс). After doing that, you should see the Add Counters dialog, where you can select User Input Delay per Process or User Input Delay per Session.

После того как вы выберете вариант User Input Delay per Process (Задержка ввода данных пользователем на процесс), в одноименном разделе отобразятся экземпляры выбранного объекта (другими словами, процессы) в формате SessionID:ProcessID

. If you select User Input Delay per Process, you’ll see the Instances of the selected object (in other words, the processes) in SessionID:ProcessID

Например, если Калькулятор выполняется в сеансе с идентификатором 1, вы увидите 1:4232 . For example, if the Calculator app is running in a Session ID 1, you’ll see 1:4232 .

Учитываются не все процессы. Not all processes are included. Вы не увидите процессы, запущенные как системные. You won’t see any processes that are running as SYSTEM.

Счетчик начинает отправку отчетов о задержке ввода данных пользователем сразу после того, как вы его добавите. The counter starts reporting user input delay as soon as you add it. Обратите внимание, что максимальный масштаб по умолчанию — 100 (мс). Note that the maximum scale is set to 100 (ms) by default.

Теперь давайте рассмотрим счетчик задержки ввода данных пользователем на сеанс. Next, let’s look at the User Input Delay per Session. Для каждого идентификатора сеанса есть экземпляры, и их счетчики показывают задержку ввода данных пользователем для любого процесса в указанном сеансе. There are instances for each session ID, and their counters show the user input delay of any process within the specified session. Кроме того, есть еще два экземпляра — «Макс.» (максимальная задержка ввода данных пользователем во всех сеансах) и «Средний» (средняя задержка во всех сеансах). In addition, there are two instances called «Max» (the maximum user input delay across all sessions) and «Average» (the average acorss all sessions).

В этой таблице представлен визуальный пример этих экземпляров. This table shows a visual example of these instances. (Те же сведения можно получить в системном мониторе, переключившись на тип графа «Отчет».) (You can get the same information in Perfmon by switching to the Report graph type.)

Тип счетчика Type of counter Имя экземпляра Instance name Сообщенная задержка (мс) Reported delay (ms)
Задержка ввода данных пользователем на процесс User Input Delay per process 1:4232 1:4232 200 200
Задержка ввода данных пользователем на процесс User Input Delay per process 2:1000 2:1000 16 16
Задержка ввода данных пользователем на процесс User Input Delay per process 1:2000 1:2000 32 32
Задержка ввода данных пользователем на сеанс User Input Delay per session 1 1 200 200
Задержка ввода данных пользователем на сеанс User Input Delay per session 2 2 16 16
Задержка ввода данных пользователем на сеанс User Input Delay per session Среднее Average 108 108
Задержка ввода данных пользователем на сеанс User Input Delay per session Макс. Max 200 200

Счетчики, используемые в перегруженной системе Counters used in an overloaded system

Теперь давайте рассмотрим, что же отобразится в отчете, если производительность приложения снижена. Now let’s look at what you’ll see in the report if performance for an app is degraded. На следующей диаграмме приведены показатели пользователей, удаленно работающих в Microsoft Word. The following graph shows readings for users working remotely in Microsoft Word. В этом случае производительность сервера узла сеансов удаленных рабочих столов (RDSH) ухудшается по мере того, как входит большее количество пользователей. In this case, the RDSH server performance degrades over time as more users log in.

Вот что представляют линии на диаграмме: Here’s how to read the graph’s lines:

  • Розовая линия показывает количество сеансов, в которые выполнен вход на сервере. The pink line shows the number of sessions signed in on the server.
  • Красная линия показывает потребление ЦП. The red line is the CPU usage.
  • Зеленая линия — это максимальная задержка ввода данных пользователем во всех сеансах. The green line is the maximum user input delay across all sessions.
  • Синяя линия (отображается как черная на этой диаграмме) представляет среднюю задержку ввода данных пользователем во всех сеансах. The blue line (displayed as black in this graph) represents average user input delay across all sessions.

Можно заметить, что присутствует взаимосвязь между пиками потребления ЦП и задержкой ввода данных пользователем: задержка ввода данных пользователем повышается по мере увеличения потребления ЦП. You’ll notice that there’s a correlation between CPU spikes and user input delay—as the CPU gets more usage, the user input delay increases. Кроме того, по мере добавления в систему большего количества пользователей потребление ЦП приближается к 100 %, что приводит к более частым пикам задержки ввода данных пользователем. Also, as more users get added to the system, CPU usage gets closer to 100%, leading to more frequent user input delay spikes. Хотя этот счетчик очень полезен в случаях, когда серверу не хватает ресурсов, его также можно использовать для отслеживания задержки ввода данных пользователем, связанной с определенным приложением. While this counter is very useful in cases where the server runs out of resources, you can also use it to track user input delay related to a specific application.

Параметры конфигурации Configuration Options

При использовании этого счетчика производительности следует помнить, что он сообщает задержку ввода данных пользователем через определенный интервал — 1000 мс по умолчанию. An important thing to remember when using this performance counter is that it reports user input delay on an interval of 1,000 ms by default. Если задать для свойства интервала выборки счетчика производительности (как показано на следующем снимке экрана) другое значение, полученное значение будет неправильным. If you set the performance counter sample interval property (as shown in the following screenshot) to anything different, the reported value will be incorrect.

Чтобы устранить эту проблему, можно задать для следующего раздела реестра нужный интервал (в миллисекундах). To fix this, you can set the following registry key to match the interval (in milliseconds) that you want to use. Например, если мы изменим значение параметра Sample every x seconds (Выполнять выборку каждые x секунд) на 5 с, то для этого раздела нужно задать значение 5000 мс. For example, if we change Sample every x seconds to 5 seconds, we need to set this key to 5000 ms.

Если вы используете Windows 10, версия 1809 или более поздняя, либо Windows Server, версия 2019 или более поздняя, не нужно задавать параметр LagCounterInterval, чтобы исправить счетчик производительности. If you’re using Windows 10, version 1809 or later or Windows Server 2019 or later, you don’t need to set LagCounterInterval to fix the performance counter.

Мы также добавили несколько разделов, которые могут оказаться полезными, под тем же разделом реестра. We’ve also added a couple of keys you might find helpful under the same registry key:

LagCounterImageNameFirst — задайте для этого раздела значение DWORD 1 (значение по умолчанию (0) или раздел не существует). LagCounterImageNameFirst — set this key to DWORD 1 (default value 0 or key does not exist). В результате имена счетчиков изменятся на «Имя образа SessionID:ProcessId». This changes the counter names to «Image Name SessionID:ProcessId.» Например, «explorer «. For example, «explorer .» Это полезно, если нужно выполнить сортировку по имени образа. This is useful if you want to sort by image name.

LagCounterShowUnknown — задайте для этого раздела значение DWORD 1 (значение по умолчанию (0) или раздел не существует). LagCounterShowUnknown — set this key to DWORD 1 (default value 0 or key does not exist). В результате будут показаны все процессы, запущенные как службы или система. This shows any processes that are running as services or SYSTEM. Для некоторых процессов в качестве названия сеанса будет отображаться «?». Some processes will show up with their session set as «?.»

Вот что будет, если вы включите оба раздела: This is what it looks like if you turn both keys on:

Использование новых счетчиков со сторонними инструментами Using the new counters with non-Microsoft tools

Инструменты мониторинга могут использовать этот счетчик, как описано в руководстве Использование счетчиков производительности. Monitoring tools can consume this counter by Using Performance Counters.

Поделитесь своим мнением Share your feedback

Вы можете отправить отзыв об этом компоненте через Центр отзывов. You can submit feedback for this feature through the Feedback Hub. Выберите Приложения > Все другие приложения и добавьте»Счетчики производительности RDS — системный монитор» в заголовок публикации. Select Apps > All other apps and include «RDS performance counters—performance monitor» in your post’s title.

Читайте также:  Как вернуть производительность компьютера без переустановки windows
Оцените статью