Использование 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% от пропускной способности сетевого адаптера |
Недостаточная пропускная способность сетевого интерфейса |