Использование System Monitor для диагностики проблем производительности 1С: Предприятия 8
System Monitor представляет собой стандартное средство для диагностики проблем производительности операционной системы, различных компонент приложений и используемого оборудования. С его помощью можно измерять производительность, как локального компьютера, так и других компьютеров в сети.
System Monitor является основным инструментом для идентификации узких мест в системе. Компоненты анализируемой системы интерпретируются как объекты, параметры которых представляются в виде набора счетчиков, при этом для каждого объекта определен свой набор счетчиков. Некоторые приложения в процессе установки расширяют системный набор своими, специфическими объектами и счетчиками, характеризующими производительность этого приложения. Например, при установке Microsoft SQL Server к стандартному набору объектов и счётчиков операционной системы добавляются специфические объекты и счётчики сервера баз данных.
Потенциальные узкие места, которые могут оказать наибольшее влияние на производительность:
Память
- Недостаток объема оперативной памяти, установленной на компьютере, оказывает негативное влияние на производительность всех компонент 1С:Предприятия 8 и Microsoft SQL Server.
- При увеличении количества пользователей и объема информационной базы требования к этому ресурсу со стороны сервера 1С:Предприятия 8 и Microsoft SQL Server возрастают.
- Нехватка памяти приводит к увеличению интенсивности страничного обмена между файлом подкачки и физической памятью, что существенно снижает производительность системы.
Процессоры
- Недостаточная производительность или количество процессоров может стать узким местом при увеличении нагрузки на систему, связанной с увеличением количества пользователей.
- Эффект от увеличения количества процессоров в многопользовательской системе, как правило, существенно выше, чем от увеличения их быстродействия.
Дисковые операции
- Производительность дисковой подсистемы является одним из решающих факторов, определяющих производительность Microsoft SQL Server.
- На производительность сервера 1С:Предприятия 8 влияния, как правило, не оказывает.
Конфликты блокировок Microsoft SQL Server
- Один из основных факторов снижения производительности в многопользовательском режиме
- Вероятность возникновения конфликтов блокировок можно снизить за счет доработки прикладного решения
Идентификация узких мест
В таблице приведен перечень основных объектов и счетчиков, используемых при анализе проблем с производительностью.
Объект | Основные счетчики | Описание | Основные признаки наличия проблемы | Варианты решения проблемы |
Память | Memory \ Pages/sec | Характеризует интенсивность обмена между дисковой подсистемой и оперативной памятью. Обращение к дисковой системе происходит из-за того, что запрашиваемые страницы отсутствуют в оперативной памяти. | Нормальное значение этого счетчика должно быть близко к нулю. Увеличение показания этого счетчика свыше 20 страниц в секунду говорит о необходимости увеличения объема оперативной памяти. | Увеличение объема оперативной памяти, установленной на компьютере. Перенос приложений, интенсивно использующих оперативную память, на отдельный компьютер. Например, установка сервера 1С:Предприятия 8 и Microsoft SQL Server на разных компьютерах. |
Процессор | Processor \ %Processor Time | Время, которое процессор тратит на выполнение полезной работы, в процентах от общего системного времени. | Если среднее значение величины утилизации процессора превышает 85%, значит, процессор – узкое место в системе. | Замена процессоров на более быстродействующие. Увеличение количества процессоров. Перенос приложений, интенсивно использующих процессор на отдельный компьютер. Например, установка сервера 1С:Предприятия 8 и 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 | Показывает количество запросов на блокировку в секунду, которые закончились взаимной блокировкой | Ненулевое значение счетчика |
Основные показатели низкой производительности
1. Производительность системы не удовлетворяет требованиям бизнес-логики автоматизируемого предприятия на значительной части операций;
2. Большая часть пользователей системы жалуется на:
2.2 Неприемлемую общую производительность системы;
2.3 Неприемлемую производительность на отдельных операциях;
2.4 Внезапное ухудшение производительности;
2.5 Частое возникновение ошибок:
2.6.1 «Lock request time out period exceeded»;
2.6.2 «Превышено максимальное время ожидания предоставления блокировки»;
2.6.3 «Transaction was deadlocked on lock resources with another process and has been chosen as deadlock victim»;
2.6.4«Конфликт блокировок при выполнении транзакции»
Если производительность системы признается неудовлетворительной, то необходимо провести анализ загруженности оборудования, в соответствии с данными рекомендациями:
Выполнить ряд замеров со следующими счетчиками производительности:
Память – обмен страниц \ сек
Процессор - % загруженности процессора
Система – длина очереди процессора
Физический диск – средняя дли очереди диска
Сеть – обмен байт\сек (исключено, так как все на одном сервере и сетевая активность минимальная)
Анализ данных замера
Анализ данных следует проводить на основании среднего и максимального значения для каждого счетчика на выбранном интервале времени.
Эти значения отображаются в нижней части основного окна «Системного монитора».
Ниже в таблице приведены описания счетчиков «Системного монитора» и предельные значения для каждого из них.
При превышении этих значений следует рассмотреть вопрос об увеличении производительности соответствующей аппаратной компоненты.
Группа | Счетчик | Описание | Критерий | Узкое место |
Память | обмен страниц \ сек | Интенсивность обмена между дисковой подсистемой и оперативной памятью | Среднее: около 0 Максимальное: не более 20 | Недостаточно оперативной памяти |
Процессоры | % загруженности процессора | Загруженность процессоров | Не более 70% в течение длительного времени | Недостаточная производительность процессоров |
Система | длина очереди процессора | Очередь к процессорам | Не более 2 * количество ядер процессоров в течение длительного времени | Недостаточная производительность процессоров |
Физический диск | средняя дли очереди диска | Очередь к дискам | Не более 2 * количество дисков, работающих параллельно | Недостаточная производительность дисковой подсистемы |
Сетевой интерфейс | обмен байт\сек | Скорость передачи данных через сеть | Не более 65% от пропускной способности сетевого адаптера | Недостаточная пропускная способность сетевого интерфейса |