Рекомендации по планированию производительности
Применимо к этой рекомендации Power Platform контрольного списка эффективности хорошо продуманной производительности:
РЕ:02 | Планирование производительности. Планирование производительности следует выполнять до того, как появятся прогнозируемые изменения в шаблонах использования. Прогнозируемые изменения включают в себя сезонные колебания, обновления продуктов, маркетинговые кампании, специальные мероприятия или нормативные изменения. |
---|
В этом руководстве описаны рекомендации по планированию производительности и ресурсов. Производительность — это не то, что происходит просто так — ее нужно планировать, как и любое другое требование. Планирование ресурсов относится к процессу определения ресурсов, необходимых для достижения целевых показателей производительности рабочей нагрузки. Это включает в себя оценку объема ресурсов, необходимых для поддержки требований к производительности рабочей нагрузки, таких как хранилище, пропускная способность и полоса пропускания сети. Планирование ресурсов гарантирует, что рабочая нагрузка будет иметь достаточно ресурсов для удовлетворения ожидаемых требований к рабочей нагрузки без снижения производительности или узких мест. Это также помогает предотвратить избыточное выделение ресурсов и ненужные затраты. Если не планировать производительность и ресурсы, это может привести к проблемам с производительностью, нехватке ресурсов, увеличению затрат, неэффективному распределению, проблемам с масштабируемостью и непредсказуемой производительности рабочих нагрузок.
Определения
Термин | Определение |
---|---|
Планирование ресурсов | Процесс прогнозирования ресурсов, необходимых рабочей нагрузке для достижения целевых показателей производительности. |
Функциональные требования | Функции и возможности, которыми должна обладать рабочая нагрузка для достижения своей цели. |
Технические требования | Код и инфраструктура, необходимые для удовлетворения функциональных требований. |
Анализ тенденций | Анализ исторических данных для прогнозирования будущего спроса. |
Ключевые стратегии проектирования
Планирование ресурсов — это прогностический процесс, который предполагает принятие решений на основе ожидаемых требований и шаблонов рабочей нагрузки. Его цель — оптимизировать производительность рабочих нагрузок как в сценариях непрерывной, так и пиковой нагрузки. Понимая изменения в использовании, такие как сезонные сдвиги или выпуски продуктов, вы можете стратегически распределять ресурсы, предотвращая перегрузку системы в периоды высокого спроса. Эта проактивная стратегия уменьшает сбои и повышает эффективность работы. Анализируя прошлые тенденции использования и данные о росте, вы можете прогнозировать краткосрочные и долгосрочные потребности. Вы можете выявить потенциальные узкие места и проблемы масштабирования, обеспечивая стабильную и эффективную производительность рабочих нагрузок.
Планирование производительности
Проектируйте свои рабочие нагрузки с учетом производительности, чтобы свести к минимуму рефакторинг после выпуска рабочей нагрузки в производство. Когда дело доходит до производительности, учитывайте требования к рабочей нагрузке. Вопросы производительности влияют на многие аспекты вашей рабочей нагрузки:
Стратегия данных: Есть ли у вас существующие данные и хранилища данных, к которым вам нужно подключиться? Какой объем данных вам нужно хранить? Повлияет ли объем данных на скорость доступа пользователей к ним? Как пользователи будут получать доступ к данным?
Стратегия интеграции: можно ли выполнять интеграцию в реальном времени, не замедляя работу системы? Можете ли вы выполнить пакетную интеграцию в течение определенного времени? Где расположены ваши данные? Нужна ли вам стратегия использования локального шлюза данных?
Объемы разговоров: при создании второго пилота важно понимать целевой объем сообщений или разговоров и их ожидаемый рост. Соответствуют ли ваши ожидания целевой архитектуре? А как насчет масштаба?
Моделирование данных: Вам нужно упростить структуру данных для более быстрых запросов?
Моделирование безопасности: будут ли ваши правила безопасности хорошо работать при большом количестве пользователей и данных? Есть ли узкие места?
Стратегия среды: Есть ли у вас тестовая среда для тестирования производительности? Аналогична ли она рабочей среде? Запланировали ли вы в бюджете тестирование производительности?
Разработка: следуют ли разработчики лучшим практикам производительности? Достигают ли они конкретных целей производительности? Знают ли пользователи, что возможно сделать, а что нет?
Проектирование и подход к тестированию: как вы измеряете производительность? Что достаточно хорошо работает, а что нет? Проводите ли вы тестирование с использованием реалистичных сценариев и данных? Тестируете ли вы текущие и будущие потребности?
Принятие и внедрение пользователями: как вы отслеживаете эффективность? Реалистичны ли ожидания пользователей?
Планируйте свои ресурсы
Для достижения нужной производительности нужны время, деньги, усилия и люди. Распределяйте ресурсы разумно с самого начала вашего проекта. Например, разработчикам может потребоваться дополнительное время, чтобы найти эффективные способы реализации бизнес-логики и оптимизации кода. Вам также понадобится среда тестирования и рабочая группа для проведения тестирования производительности.
Высокая производительность — это не разовое мероприятие. По мере изменения использования вашей рабочей нагрузки и развития платформы вам необходимо пересматривать код и продолжать искать способы оптимизации производительности.
Планируйте перенос и интеграцию данных
При переносе данных из предыдущей системы тщательно спланируйте миграцию. Несколько советов, чтобы избежать проблем:
Поймите бизнес-требования к данным, которые вы переносите. Не переносите больше данных, чем нужно пользователям. Например, вам, вероятно, не потребуется импортировать в вашу систему продаж потенциальных клиентов десятилетней давности.
Подумайте, когда и как часто выполняются ваши интеграции. Избегайте запуска ресурсоемких процессов при взаимодействии пользователей с системой. Запланируйте тяжелые процессы на непиковое время или используйте асинхронную обработку.
При разработке интеграции учитывайте ограничения платформы и рекомендации.
Собирайте данные о производительности
Сбор данных об использовании рабочей нагрузки предполагает сбор и анализ информации о том, как рабочая нагрузка использует ресурсы и как она работает. Вам следует собирать данные об исторических закономерностях для существующих рабочих нагрузок и прогнозные меры для новых рабочих нагрузок. Этот процесс помогает преобразовать бизнес-цели в технические требования и имеет важное значение для прогнозирования. Учитывайте следующие рекомендации.
Вам нужно понять существующую рабочую нагрузку
Понимание существующей рабочей нагрузки для планирования ресурсов включает анализ исторических данных, связанных с тем, как рабочая нагрузка использует ресурсы. Это включает в себя такие метрики, как использование ресурсов, данные о производительности и шаблоны рабочей нагрузки. Такое понимание обеспечивает эффективное выделение ресурсов, преобразует бизнес-цели в технические требования и помогает выявить потенциальные узкие места.
Понимание данных: просмотрите имеющиеся исторические данные и поймите их структуру, формат и значимость для планирования мощностей. Проверка может включать в себя метрики использования ресурсов, шаблоны рабочей нагрузки, метрики производительности и другие важные данные. Понимание бизнес-процессов и критической важности приложений. Определите пиковое время использования, пользовательскую нагрузку, скорость транзакций и другие соответствующие метрики.
Очистите и предварительно обработайте данные: подготовьте данные к анализу, удалив любые несоответствия, ошибки или выбросы. Подготовка данных может включать в себя методы очистки данных, такие как вменение данных, обработка пропущенных значений или нормализация.
Определите ключевые показатели: Определите показатели, которые имеют отношение к планированию емкости. Метрики могут включать в себя объем транзакций, пропускную способность сети и время отклика.
Определитеузкие места: измерьте пропускную способность и время ответ, чтобы определить конкретные компоненты вашей системы, которые могут стать узкими местами по мере роста рабочей нагрузки. Используйте возможности анализа процессов, такие как переделка и анализ первопричин, чтобы выявить узкие места в комплексном процессе.
Визуализируйтеданные: создавайте визуализации, такие как диаграммы или графики, чтобы лучше понять исторические данные. Визуализации могут помочь вам выявить закономерности, тенденции и аномалии в данных, чтобы дать вам более четкое представление о поведении рабочей нагрузки. Используйте инструменты анализа процессов для визуализации данных с помощью карты процессов, что позволяет провести глубокий анализ процесса.
Понимание новой рабочей нагрузки
Понимание новой рабочей нагрузки для планирования ресурсов означает прогнозирование требований к ресурсам будущей задачи без исторических данных. Прогнозирование будущих потребностей новой рабочей нагрузки без исторических данных может оказаться сложной задачей. Этот процесс гарантирует эффективное распределение ресурсов и согласование их распределения с целями рабочей нагрузки при ее вводе.
Учитывайте следующие рекомендации:
Исследованиепользователей: Проведение исследования пользователей с целью понять, как пользователи справляются с текущей рабочей нагрузкой, может дать ценную информацию о потенциальном спросе на новую рабочую нагрузку. Исследование может включать разговор с пользователями, опросы или наблюдение за тем, как пользователь выполняет существующую рабочую нагрузку.
Экспертное заключение: Мнение экспертов в данной области или профессионалов, имеющих опыт работы в отрасли, может помочь вам оценить спрос на новую рабочую нагрузку. Их опыт и знания могут стать ценным вкладом в прогнозирование.
Пилотные проекты или прототипы: Небольшие пилотные проекты или прототипы могут помочь вам собирать данные и отзывы в режиме реального времени. Затем вы можете использовать эти данные для информирования процесса планирования ресурсов и корректировки прогнозируемого спроса.
Внешние источники данных: Внешние источники данных, такие как отраслевые отчеты, исследования рынка или опросы клиентов, могут предоставить дополнительную информацию для оценки спроса на новую рабочую нагрузку. Эти источники могут дать ценную информацию о предпочтениях клиентов, тенденциях рынка и потенциальных факторах спроса.
Прогноз спроса
Прогнозирование спроса предполагает использование данных о рабочей нагрузке для прогнозирования будущих потребностей в услуге или продукте. При планировании ресурсов важно обеспечить эффективное выделение ресурсов, предвидеть модели роста и подготовиться к потенциальному всплеску спроса. Когда вы прогнозируете будущий спрос, вы используете данные, чтобы получить представление о будущих потребностях. Вам нужно применить статистический анализ, анализ тенденций или методы прогнозного моделирования к имеющимся у вас данным для прогнозирования будущего спроса. Эти методы учитывают исторические или ожидаемые закономерности и проецируют их на будущее, чтобы получить оценки ожидаемой потребности в рабочей нагрузке. Чтобы спрогнозировать спрос, рассмотрите следующие стратегии.
Учет различных сценариев
В рамках планирования производительности вам необходимо спланировать различные возможные сценарии. Это планирование должно включать в себя как предсказуемые модели роста, так и неожиданные резкие скачки спроса. Шаблоны использования могут увеличиваться или уменьшаться. Они могут быть органическими (больше или меньше пользователей) или неорганическими (событие или инцидент безопасности). Вам необходимо провести планирование до изменений в использовании в ключевые моменты:
- Проектирование (прогноз)
- Регулярные всплески активности (активный вход в систему в 8:00 утра)
- Запуск (проверка прогноза)
- Изменение бизнес-модели
- Слияния и поглощения
- Маркетинговое продвижение
- Сезонные изменения
- Запуск функций
- Периодически
Использование методов прогнозирования
Прогнозирование будущего спроса на услугу или продукт включает в себя использование таких методов, как статистический анализ, анализ тенденций и прогнозное моделирование.
Вот обзор того, как вы можете использовать эти методы:
Статистический анализ: статистические методы могут помочь выявить закономерности и Отношения в исторических данных. Вы можете использовать эти закономерности для прогнозирования будущего спроса. Вы можете использовать такие методы, как анализ временных рядов, регрессионный анализ и скользящие средние, чтобы выявить тенденции, сезонность и другие закономерности в данных.
Анализ тенденций: Анализ тенденций включает в себя изучение исторических данных для выявления закономерностей и экстраполяции этих закономерностей на будущее. Например, если за последний год спрос на рабочую нагрузку увеличился на 10 процентов, можно прогнозировать продолжение этой тенденции. Анализируя исторические данные о спросе за определенный период времени, вы можете выявить тенденции роста или сокращения. Используйте эти тенденции в качестве основы для прогнозирования будущего спроса. Анализ тенденций также может выявить последствия разовых событий, которые вызывают быстрые изменения в трафике (неорганическом). Например, выпуски с новыми функциями могут постоянно увеличивать спрос на 5 процентов. Если у вас есть четыре крупных выпуска в год, вам следует планировать каждый раз 5-процентный рост.
Прогностическое моделирование: Прогностическое моделирование — это процесс построения математических моделей, которые используют исторические данные и другие соответствующие переменные для прогнозирования будущего спроса. Вы можете использовать такие методы, как алгоритмы машинного обучения, нейронные сети или деревья решений. Эти модели могут учитывать множество факторов и переменных для обеспечения более точных прогнозов.
Согласование прогнозов с целями рабочей нагрузки
Согласование прогнозов с целями рабочей нагрузки предполагает корректировку моделей прогнозных ресурсов, чтобы гарантировать, что они соответствуют конкретным целям и требованиям данной рабочей нагрузки. Такое согласование обеспечивает адекватное выделение ресурсов, предотвращая как недостаточное использование, так и потенциальную перегрузку рабочей нагрузки. Например, если вы планируете поддерживать интеграцию с 1 миллионом обновлений каждую ночь, но текущие данные показывают низкую скорость обновления, вам необходимо настроить систему. Очень важно поговорить с заинтересованными лицами, чтобы понять требования рабочей нагрузки. Убедитесь, что ваши планы соответствуют обещаниям (соглашения об уровне обслуживания) ваших поставщиков услуг. Такое согласование гарантирует, что ваши ресурсы будут соответствовать ожидаемому спросу, и помогает определить области системы, которые могут нуждаться в изменениях.
Определение требований к ресурсам
Рабочая нагрузка может иметь множество ресурсов, поэтому нет единой метрики, которую нужно было бы учитывать для определения требований к ресурсам. Чтобы получить значимые результаты, вам необходимо измерить емкость на уровне ресурсов. Оцените ожидаемый спрос на ваши ресурсы на основе исторических данных, рыночных тенденций и бизнес-прогнозов. Учитывайте количество транзакций, одновременных пользователей или любые другие соответствующие метрики.
На основе прогнозируемого спроса рассчитайте ресурсы, необходимые для удовлетворения этого спроса. Учитывайте такие факторы, как емкость по запросам API, пропускная способность сети, емкость хранилища и персонал:
Пропускная способность сети: оцените пропускную способность сети, необходимую для поддержки ожидаемого уровня трафика. Вы должны добавить скорость передачи как входящих, так и исходящих данных, чтобы обеспечить бесперебойную и эффективную связь между серверами и клиентами.
Емкость хранилища: оцените объем данных, которые рабочая нагрузка генерирует или обрабатывает в течение прогнозируемого спроса. Учитывайте такие факторы, как размер базы данных, требования к хранилищу файлов и любые другие потребности в хранении данных, связанные с вашим приложением.
Запросы API: оцените потребление запросов API по сравнению с доступной емкостью и ограничениями защиты сервиса. Учитывайте такие факторы, как первоначальная загрузка данных и потенциальные пики использования.
Персонал: Оцените человеческие ресурсы, необходимые для управления и обслуживания инфраструктуры, осуществления поддержки клиентов, выполнения системных обслуживание и обеспечения бесперебойной работы. Учитывайте такие факторы, как распределение рабочей нагрузки, набор навыков и необходимый опыт.
Понимание ограничений ресурсов
Ресурсы в вашей рабочей нагрузке имеют ограничения по производительности. Ограничения производительности применяются к функциям каждой службы. Вам необходимо понимать ограничения ресурсов в вашей рабочей нагрузке и учитывать эти ограничения при принятии решений по проектированию. Например, вы должны знать, требуют ли ограничения ресурсов изменения подхода к проектированию или полного изменения ресурсов.
Вам также необходимо определить достижимые пределы, что включает в себя определение максимальных порогов или границ рабочей нагрузки. Эти пределы обычно применяются к инфраструктуре (вычислительные ресурсы, хранилище, сеть), приложениям (одновременные подключения, время отклика, доступность) и услугам (запросы в секунду). Когда планирование ресурсов определяет достижимые пределы, вам необходимо изменить рабочую нагрузку до того, как предел создаст проблемы с производительностью. Базовые показатели производительности, непрерывный мониторинг и тестирование необходимы для проверки ограничений и решения.
Компромисс: Неправильное планирование мощности может привести к избыточному или недостаточному предоставлению ресурсов. Избыточное выделение ресурсов может привести к более высоким затратам. Недостаточное выделение ресурсов может привести к снижению производительности. Вы также можете столкнуться с более высоким уровнем ложноположительных предупреждений, что может привести к необходимости уделения лишнего времени на исследование несуществующих проблем с производительностью. Постарайтесь найти правильный баланс.
Возможности в Power Platform
Сбор данных о емкости и прогнозирование спроса: Azure Monitor позволяет собирать и анализировать телеметрические данные из ваших приложений и инфраструктуры. Он поддерживает мониторинг различных ресурсов Azure, включая виртуальные машины, контейнеры и учетные записи хранения. Ключевые инструменты включают в себя Application Insights и Log Analytics. Настроив сбор данных и определив метрики и журналы, которые вы хотите отслеживать, вы можете собрать ценные данные о рабочей нагрузке для проведения анализа. Для мониторинга сети объедините Azure Monitor с Наблюдателем за сетями Azure, аналитикой сети Azure Monitor и мониторингом Azure ExpressRoute.
Azure Monitor позволяет анализировать исторические данные и применять методы прогнозирования для прогнозирования будущих тенденций рабочей нагрузки и требований к емкости. Вы можете создавать прогнозы, которые помогут вам в планировании ресурсов. Эти прогнозы помогают оценить ресурсы сервера, пропускную способность сети, емкость хранилища и другие потребности в ресурсах с помощью прогнозируемых моделей спроса.
Определение требований к ресурсам: поскольку инструменты и службы Azure предоставляют широкий спектр конфигураций, они могут помочь вам определить технические требования. Вы можете согласовать требования к рабочей нагрузке с доступными ресурсами Azure, обеспечив выбор подходящих компонентов и параметров, соответствующих вашим функциональным потребностям.
Понимание ограничений ресурсов: Power Platform содержит документацию и ресурсы, которые помогут вам понять ограничения производительности каждой из различных служб. Принятие во внимание этих ограничений может помочь вам принять обоснованные проектные решения и оптимизировать архитектуру рабочей нагрузки для повышения производительности и экономической эффективности.
В вашей конфигурации и службах существуют ограничения на масштабирование, о которых вам следует знать. Вы можете прочитать документацию или провести тесты. Дополнительные сведения:
- Power Platform запрос лимитов и выделений
- Ограничения API защиты сервиса
- Ограничения автоматизированных, запланированных и мгновенных Power Automate потоков
- Квоты и лимиты для Copilot Studio
Использование вызовов данных из приложений Canvas: Потоки вызовов данных из приложений Canvas отправляют данные в табличные источники данных с помощью коннекторов по протоколу OData. OData запрашивает поток на внутренние уровни, чтобы связаться с целевым источником данных и получить данные для клиента или зафиксировать данные в источнике данных. Соединители на основе действий, которые включают API-интерфейсы, работают таким же образом.
Понимание того, как запросы OData и API-интерфейса перемещаются в приложениях на основе холста, может помочь вам оптимизировать производительность приложения на основе холста и ваших внутренних источников данных. Дополнительные сведения см. в разделе Поток вызовов данных в приложениях на основе холста.
Дополнительные сведения
- Лазурный монитор
- Application Insights
- Аналитика журналов
- анализ процессов и анализ задач в Power Automate
Контрольный список по обеспечению эффективности процессов
Обратитесь к полному набору рекомендаций.