Поделиться через


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

Применимо к этой рекомендации Power Platform контрольного списка эффективности хорошо продуманной производительности:

РЕ:04 Сбор данных о производительности. Компоненты и потоки рабочих нагрузок должны предоставлять автоматические, непрерывные и значимые метрики и журналы. Собирайте данные на разных уровнях рабочей нагрузки, например на уровне приложения, платформы, данных и операционной системы.

Сбор данных о производительности — это процесс сбора метрик и журналов, которые предоставляют информацию о производительности рабочей нагрузки. Эти данные включают в себя числовые значения, которые известны как метрики. Метрики описывают состояние системы в конкретный момент времени. Данные о производительности также включают в себя журналы, которые содержат различные типы данных, организованных в виде записей.

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

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

Определения

Термин Определение
Журналы изменений Журналы, в которых отслеживаются операции управления ресурсами, например удаление ресурса.
Журналы приложений Журналы, в которых отслеживается информация о событиях приложений, ошибках и других действиях, таких как входы в систему и сбои подключения к базе данных.
Инструмент мониторинга производительности приложений (APM) Инструмент, который отслеживает производительность приложения и сообщает о ней.
Контрольно-проверочный код Прямой или косвенный сбор метрик производительности с точки зрения кода приложения. Собираемые метрики включают в себя метрики потока, использования ресурсов и метрики, относящиеся к языку или среде выполнения.
Распределенная трассировка Сбор и сопоставление метрик по компонентам распределенной рабочей нагрузки.
Приемник метрик Место хранения ваших метрик, которое сопоставляет данные временных рядов для выполнения анализа.
Журналы платформы Данные диагностики и аудита, включая журналы ресурсов, журналы изменений и журналы аудита.
Метрики платформы Числовые значения, фиксирующие производительность рабочей нагрузки в определенный момент времени.
Журналы ресурсов Данные, которые генерирует система. Они предоставляют информацию о состоянии системы.
Структурированное ведение журнала Определение значимого формата для регистрации сообщений, обычно в виде пар «ключ-значение».

Ключевые стратегии проектирования

Оптимизация производительности требует данных для измерения текущей производительности рабочей нагрузки или потока в сравнении с целевыми показателями производительности. Вам необходимо собрать нужное количество разнообразных данных, чтобы сравнить производительность кода и инфраструктуры с целевыми показателями производительности. Убедитесь, что каждый компонент и поток рабочей нагрузки автоматически генерирует непрерывные и значимые метрики и журналы. Вам необходимо получить эти данные с разных уровней, таких как приложение, платформа, хранилище и операционная система. Комплексный сбор данных о производительности позволяет получить целостное представление о производительности, что позволяет точно определить недостатки и способы улучшения.

Централизация данных о производительности

Централизация метрик производительности и журналов — это процесс сбора метрик производительности и журналов из различных источников и их централизованное хранение. Создайте центральный приемник метрик и центральный приемник журналов. Такая централизация обеспечивает легкий доступ, анализ и мониторинг метрик производительности и журналов различных систем и компонентов. Централизуя метрики и журналы, вы получаете представление о производительности своей рабочей нагрузки. Выберите подходящую платформу или инструмент, который может собирать и хранить метрики и журналы производительности рабочих нагрузок.

Компромисс: понимание стоимости сбора метрик и журналов. Как правило, чем больше метрик и журналов вы соберете, тем выше стоимость.

Сегментация данных о производительности

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

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

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

  • Отдельные целевые показатели производительности и бизнес-показатели. Рабочие группы эксплуатации и разработки используют целевые показатели производительности для мониторинга работоспособности рабочей нагрузки и достижения бизнес-целей. Бизнес-метрики связаны с бизнес-целями или клиентской отчетностью. Собирайте бизнес-метрики в отдельный поток данных, даже если данные напрямую перекрываются. Такое разделение дает вам гибкость в сборе нужных данных и позволяет независимо их анализировать.

Определение политик хранения

Политики хранения определяют, как долго следует хранить данные о производительности. Установление этих политик помогает эффективно управлять хранением и обеспечивает доступность для анализа только необходимых данных. Такие политики способствуют повышению производительности и соблюдению стандартов соответствия. Вам следует настроить политики хранения для данных журналов и метрик, чтобы обеспечить эффективное устранение неполадок и мониторинг во всех средах. Например, журналы и метрики, возможно, потребуется хранить дольше в рабочей среде, чем в среде тестирования. Период хранения должен соответствовать требованиям и нормативам вашей организации. Решите, как долго хранить данные, необходимые для выполнения анализа и аудита. Архивируйте данные, которые вам не нужны для выполнения немедленного анализа.

Сбор данных о производительности

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

Инструментирование кода

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

  • Выявление узких мест производительности: Отслеживая такие показатели, как прошедшее время, вы можете выявить узкие места и соответствующим образом оптимизировать код.

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

  • Отслеживание рабочая нагрузка здоровье и доступность: Поскольку ключевые показатели эффективности отслеживаются в режиме реального времени, вы можете получать оповещения о потенциальных проблемах, влияющих на производительность и доступность приложения.

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

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

При инструментировании кода для мониторинга производительности рассмотрите возможность применения следующих стратегий:

  • Используйте инструменты APM : Инструменты мониторинга производительности приложений (APM) собирают и анализируют данные о производительности, включая метрики, трассировки и журналы. Инструменты APM предлагают такие функции, как инструментирование на уровне кода, отслеживание транзакций и профилирование производительности.

  • Индивидуальное оснащение приборами : Разработчики могут добавлять пользовательский код для сбора показателей производительности, уникальных для их приложения и рабочей нагрузки. Пользовательское инструментирование может измерять время выполнения, отслеживать использование ресурсов или фиксировать определенные события.

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

  • Использование стандартов телеметрии. Рассмотрите возможность использования библиотек инструментов APM и инструментов, созданных на основе стандарта телеметрии, например OpenTelemetry.

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

Собирая данные о производительности ресурсов, вы можете получить представление о работоспособности и поведении вашей рабочей нагрузки. Данные о производительности ресурсов предоставляют информацию об использовании ресурсов, что имеет ключевое значение для планирования ресурсов. Эти данные также дают представление о работоспособности рабочей нагрузки и могут помочь вам обнаружить проблемы и устранить неполадки. Учитывайте следующие рекомендации:

  • Собирайте метрики и журналы для каждого ресурса. Каждая служба имеет набор метрик, уникальных для функциональности ресурса. Эти метрики помогут вам понять работоспособность и производительность ресурса.

  • Использование инструментов платформы. Черпайте вдохновение, используя встроенные и интегрированные решения для мониторинга, такие как Azure Monitor Insights. Этот инструментарий оптимизирует операции по повышению производительности. Учитывайте возможности инструментария платформы при выборе платформы и инвестируйте в специальные инструменты или отчеты.

  • Мониторинг сетевого трафика. Мониторинг сетевого трафика означает отслеживание и анализ потока и закономерностей данных при их перемещении по сетевым путям. Собирайте аналитику трафика и отслеживайте трафик, пересекающий границы подсети. Ваша цель — проанализировать и оптимизировать производительность сети.

Сбор данных базы данных и хранилища

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

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

  • Задержка : Задержка измеряет продолжительность операций хранения. Данные о задержке указывают на скорость отклика системы хранения.

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

  • Использование мощности : Использование емкости — это объем используемой емкости хранилища и объем доступной емкости. Данные об использовании емкости помогают организациям планировать будущие потребности в хранении данных.

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

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

Проверка и анализ данных

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

  • Создание оповещений. Полезно иметь практически применимые оповещения, позволяющие быстро выявлять и устранять проблемы с производительностью. Эти оповещения должны четко указывать на нарушение порога производительности, потенциальное влияние на бизнес и задействованные компоненты. Начните с настройки распространенного и рекомендуемого оповещения. Со временем вы сможете изменить эти критерии в соответствии с вашими конкретными потребностями. Основная цель этих оповещений должна заключаться в прогнозировании потенциального падения производительности до того, как это перерастет в серьезные проблемы. Если вы не можете установить оповещение для внешней зависимости, рассмотрите возможность разработки метода сбора косвенных измерений, например продолжительности вызова зависимости.

  • Настройка ограничений сбора данных. Определите и установите логические ограничения на объем собираемых вами данных и продолжительность их хранения. Телеметрия иногда может выдавать огромные объемы данных. Очень важно сосредоточиться на сборе только самых важных показателей эффективности или иметь эффективную систему для извлечения полезной аналитики из ваших данных о производительности.

Power Platform содействие

Сбор данных о производительности приложений : Application Insights — это функция Azure Monitor, которая помогает отслеживать производительность и доступность вашего приложения. Данные хранятся в журналах Azure Monitor. Application Insights, и визуализируется в Эффективность и неудачи панели. Данные экспортируются в вашу среду Application Insights в стандартной схеме, определяемой Application Insights. Вы можете экспортировать Dataverse и Power Automate данные к Application Insights, подключите свои приложения Canvas к Application Insights и собирать телеметрические данные с вашего Microsoft Copilot Studio второй пилот для использования в Azure Application Insights.

Application Insights позволяет выбрать представления данных Сервер и Браузер. Определив наиболее продолжительные операции, вы сможете диагностировать потенциальные проблемы.

Используйте собственные функции платформы для анализа производительности: Аналитика в Copilot Studio предоставляет комплексный обзор эффективности работы вашего второго пилота. Он использует технологию искусственного интеллекта (ИИ) для определения тем, которые оказывают наибольшее влияние на показатели эскалации, отказа и разрешения проблем. Анализ производительности для Power Apps анализировать пользовательские данные во время выполнения и предоставлять приоритетный список рекомендаций, помогающих улучшить производительность приложений на основе моделей.

Централизация, сегментация и сохранение данных о производительности: Microsoft уже собирает обширные телеметрические данные по Dataverse, Power Automate облачным потокам и приложениям на основе моделей. С помощью интеграции Application Insights администратор среды или арендатора предоставляет ключ инструментирования Application Insights при настройке процесса экспорта данных в центре администрирования Power Platform. Как только настройка будет завершена, телеметрические данные, которые Microsoft собираются о вашей среде, будут отправлены в вашу Application Insights среду. Когда вы используете интеграцию Application Insights, вы получите стандартизированный набор телеметрии, который следует Application Insights модель данных телеметрии. Помимо этой интеграции вы также можете подключать приложения Canvas к Application Insights и собирать данные телеметрии от вашего Microsoft Copilot Studio второго пилота для использования в Azure Application Insights.

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

Сбор данных о производительности базы данных:Microsoft Dataverse интегрируется с Application Insights. Поток данных в настоящее время предоставляет данные о производительности, связанные с входящие вызовы API Dataverse, вызовы выполнения подключаемого модуля Dataverse и вызовы SDK Dataverse. Чтобы получать уведомления о проблемах, настройте оповещения на основе пороговых значений производительности.

Проверка и анализ данных о производительности: В Azure Monitor вы можете использовать журналы Azure Monitor для сбора, анализа и визуализации данных журналов из ваших приложений и систем. Объединив журналы, вы можете выполнять перекрестные запросы о событиях и получать аналитику о производительности вашего приложения. Дополнительные сведения см. в разделах Расчет затрат на Azure Monitor Logs и параметры решения** и Цены на Azure Monitor.

В Azure Monitor вы можете определить правила генерации оповещений для мониторинга определенных метрик производительности и запуска оповещений на основе предопределенных условий. Например, вы можете создать правило генерации оповещений, которое будет уведомлять вас, когда время отклика превышает указанный предел. Настройте правило генерации оповещений для отправки оповещений нужным получателям.

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

Примеры

Контрольный список по обеспечению эффективности процессов

Обратитесь к полному набору рекомендаций.