System Monitor представляет собой стандартное средство для диагностики проблем производительности операционной системы, различных компонент приложений и используемого оборудования. С его помощью можно измерять производительность как локального компьютера, так и других компьютеров в сети. System Monitor является основным инструментом для идентификации узких мест в системе.
Компоненты анализируемой системы интерпретируются как объекты, параметры которых представляются в виде набора счетчиков, при этом для каждого объекта определен свой набор счетчиков. Некоторые приложения в процессе установки расширяют системный набор своими, специфическими объектами и счетчиками, характеризующими производительность этого приложения. Например, при установке Microsoft SQL Server к стандартному набору объектов и счётчиков операционной системы добавляются специфические объекты и счётчики сервера баз данных.
В таблице приведен перечень основных объектов и счетчиков, используемых при анализе проблем с производительностью.
Объект | Основные счетчики | Описание | Основные признаки наличия проблемы | Варианты решения проблемы |
Память | Memory \ Pages/sec | Характеризует интенсивность обмена между дисковой подсистемой и оперативной памятью. Обращение к дисковой системе происходит из-за того, что запрашиваемые страницы отсутствуют в оперативной памяти. | Нормальное значение этого счетчика должно быть близко к нулю. Увеличение показания этого счетчика свыше 20 страниц в секунду говорит о необходимости увеличения объема оперативной памяти. |
Увеличение объема оперативной памяти, установленной на компьютере. Перенос приложений, интенсивно использующих оперативную память, на отдельный компьютер. Например, установка сервера 1С:Предприятия 8.0 и Microsoft SQL Server на разных компьютерах. |
Процессор | Processor \ %Processor Time | Время, которое процессор тратит на выполнение полезной работы, в процентах от общего системного времени. | Если среднее значение величины утилизации процессора превышает 85%, значит, процессор – узкое место в системе. |
Замена процессоров на более быстродействующие. Увеличение количества процессоров. Перенос приложений, интенсивно использующих процессор на отдельный компьютер. Например, установка сервера 1С:Предприятия 8.0 и Microsoft SQL Server на разных компьютерах. |
System \ Processor Queue Length | Длина очереди к процессору. | Если в течение длительного времени средняя длина очереди превышает значение 2, то это говорит о том, что процессор является узким местом. | ||
Дисковая система | Physical Disk \ %Disk Time | Процент времени, которое диск был занят, обслуживая запросы чтения или записи. | Снижение утилизации процессоров сервера |
Установка более быстрых дисков. Использование дисков с интерфейсом SCSI. Использование аппаратного RAID - контроллера. Увеличение количества дисков в RAID - массиве. |
Physical Disk \ Avg. Disk Queue Length | Показывает эффективность работы дисковой подсистемы. Представляет собой среднюю длину очереди запросов к диску. | Увеличение очереди запросов к дисковой подсистеме | ||
Сетевой интерфейс | Network Interface \ Bytes Total/sec | Скорость, с которой происходит получение или посылка байт через сетевой интерфейс | Значение этого счётчика не должно превышать 65% величины пропускной способности сетевого адаптера. |
Установка сетевого адаптера с более высокой пропускной способностью (если позволяют параметры сети). Установка дополнительного сетевого адаптера. |
Блокировки | SQL Server: Locks \ Lock Wait Time (ms) | Показывает общее время ожидания (в миллисекундах) выполнения запросов на блокировку за последнюю секунду | Среднее значение общего времени ожидания не должно превышать заданного времени отклика системы умноженного на количество активных пользователей |
Сокращение времени выполнения транзакции. Обеспечение единого порядка доступа ко всем ресурсам. Оптимизация запросов в прикладном решении. Правильная установка признаков индексирования у реквизитов объектов конфигурации позволяет существенно сократить диапазон блокировок. Поддержание актуальности индексов и статистики Microsoft SQL Server. Использование в запросах оператора "ДЛЯ ИЗМЕНЕНИЯ". |
SQL Server: Locks \ Average Wait Time (ms) | Показывает среднее время ожидания (в миллисекундах) выполнения каждого запроса на блокировку | Не должно превышать заданного времени отклика системы | ||
Взаимные блокировки | SQL Server: Locks \ Number of Deadlocks/sec | Показывает количество запросов на блокировку в секунду, которые закончились взаимной блокировкой | Ненулевое значение счетчика |