Рекомендации по непрерывной оптимизации производительности
Применяется к следующей рекомендации контрольного списка по обеспечению эффективности процессов Power Platform Well-Architected:
PE:10 | Непрерывная оптимизация производительности. Сосредоточьтесь на компонентах, производительность которых со временем снижается, таких как базы данных и сетевые функции. |
---|
В этом руководстве описаны рекомендации по непрерывной оптимизации производительности. Непрерывная оптимизация производительности — это процесс постоянного мониторинга, анализа и повышения эффективности производительности. Оптимизация производительности должна быть непрерывной деятельностью на протяжении всего жизненного цикла рабочей нагрузки. Со временем производительность рабочей нагрузки может снизиться или стать чрезмерной. Факторы, которые следует учитывать, включают изменения в шаблонах использования, увеличение объема хранимых данных, спрос, функции и технический долг.
Определения
Термин | Определение |
---|---|
Технический долг | Накопленные неэффективности, неоптимальные варианты проектирования или кратчайшие пути, намеренно используемые в процессе разработки для более быстрой доставки кода. |
Срок службы | Механизм, устанавливающий срок действия данных. |
Ключевые стратегии проектирования
Эффективность производительности достигается, когда емкость рабочей нагрузки соответствует фактическому использованию. Чрезмерно эффективная рабочая нагрузка так же проблематична, как и недостаточно эффективная. Компромиссы различаются. Перепроизводительность влияет на оптимизацию затрат. Низкая производительность сказывается на пользователях. Ключом к эффективности производительности является мониторинг, регулировка и тестирование с течением времени. Необходимо регулярно просматривать показатели производительности и при необходимости вносить коррективы, чтобы обеспечить эффективность рабочей нагрузки. Тестирование всех изменений до и после внедрения необходимо для достижения целевых показателей производительности.
Развивайте культуру производительности
Культура производительности — это среда, в которой ожидается постоянное совершенствование, а команда учится на производстве. Оптимизация производительности требует специальных навыков. Командам, работающим с рабочей нагрузкой, нужны правильные навыки и мышление, чтобы оптимизировать свою производительность в соответствии с растущим и уменьшающимся спросом. Кроме того, необходимо выделять их время на поддержку необходимого мониторинга и устранения проблем с производительностью по мере их возникновения. Этим командам нужны четкие ожидания. Например, целевые показатели производительности, базовые показатели и пороговые значения отклонений (допустимое отклонение от базового уровня) должны быть хорошо заметны и распространены среди команды.
Компромисс: непрерывная оптимизация производительности требует наличия команды, обладающей необходимыми навыками и временем для поиска и устранения проблем с производительностью. Сосредоточение персонала на производительности увеличивает эксплуатационные расходы. Если у вас ограниченные кадровые ресурсы, непрерывная оптимизация производительности может отнять время от других операционных задач.
Оцените новые возможности платформы
Оценка новых функций платформы включает в себя изучение новых функциональных возможностей и возможностей, которые могут повысить эффективность производительности, таких как оптимизированные способы запроса данных, современные элементы управления или механизмы кэширования. Новые функции платформы могут открыть возможности для повышения эффективности работы. Будьте в курсе последних функций платформы, чтобы быть уверенным в том, что вы используете последние инновации и лучшие практики. Постоянно отслеживайте отзывы и показатели производительности от этих новых дополнений, чтобы совершенствовать свой подход.
Приоритизация усилий по оптимизации
Упреждающая оптимизация производительности означает принятие мер по улучшению и повышению производительности рабочей нагрузки до того, как возникнут какие-либо проблемы с производительностью. Использование упреждающих мер включает в себя выявление потенциальных узких мест, мониторинг метрик производительности и внедрение оптимизаций для обеспечения эффективной работы рабочей нагрузки и соответствия желаемым целям производительности. На основе анализа изнашивающихся компонентов, критических потоков и технического долга можно реализовать оптимизацию производительности, специфичную для каждой области. Улучшения могут включать изменения в коде, корректировку инфраструктуры или обновления конфигурации.
Приоритизация ухудшающихся компонентов
По мере развития рабочей нагрузки и изменения шаблонов использования эти изменения часто влияют на производительность отдельных компонентов рабочей нагрузки. Увеличение объема данных в базах данных может привести к увеличению времени выполнения запросов и замедлению извлечения данных. Изменения в шаблонах использования могут привести к неоптимальному дизайну запросов. Запросы, которые когда-то были эффективными, могут стать неэффективными по мере развития рабочей нагрузки. Неэффективные запросы могут потреблять слишком много ресурсов и снижать производительность базы данных.
Важно постоянно работать над оптимизацией производительности компонентов, производительность которых со временем снижается. Заблаговременно выявляйте и устраняйте проблемы с производительностью в рабочей нагрузке. Определяя приоритеты известных компонентов, которые ухудшаются, вы можете заблаговременно устранять потенциальные проблемы с производительностью и обеспечивать бесперебойную работу рабочей нагрузки. Рассмотрите возможность внедрения методов настройки производительности или оптимизации распределения ресурсов.
Установите приоритеты для критически важных пользовательских и системных потоков
Критически важные пользовательские и системные потоки — это наиболее важные и высокоприоритетные процессы или рабочие процессы в рабочей нагрузке. Приоритизация этих критически важных потоков гарантирует, что наиболее важные части рабочей нагрузки оптимизированы с точки зрения производительности. Знание того, какие потоки являются критически важными, помогает расставить приоритеты в усилиях по оптимизации. Оптимизация производительности наиболее важных областей приложения обеспечивает максимальную отдачу от инвестиций. Следует отслеживать критические потоки и наиболее популярные части приложения. Ищите способы сделать их более эффективными.
Автоматизация оптимизации производительности
Автоматизация может устранить повторяющиеся и трудоемкие ручные процессы, позволяя выполнять их эффективно. Автоматизация снижает вероятность человеческой ошибки и обеспечивает согласованность при выполнении задач оптимизации. Автоматизировав эти задачи, вы также можете освободить людей, чтобы они могли сосредоточиться на более сложных действиях и действиях, которые приносят пользу. Автоматизацию можно применять к различным задачам, таким как тестирование производительности, развертывание и мониторинг.
Автоматизированное тестирование производительности: используйте инструменты автоматизированного тестирования производительности, такие как Selenium, для моделирования различных рабочих нагрузок и сценариев. Механизм тестирования Power Apps — это компонент интерфейса командной строки Power Platform CLI, который можно использовать для тестирования автономных приложений на основе холста в Power Apps.
Автоматизированное развертывание: внедрите автоматизированные процессы развертывания для обеспечения согласованного и безошибочного развертывания. Используйте инструменты CI/CD (непрерывная интеграция/непрерывная поставка) для автоматизации процесса развертывания. Эти инструменты могут помочь вам определить узкие места производительности, поскольку вы используете их для тестирования конечных точек, проверки состояний HTTP и даже проверки качества и вариаций данных.
Мониторинг и оповещение: настройте автоматизированные системы мониторинга и оповещения для непрерывного мониторинга показателей производительности и обнаружения любых отклонений или аномалий. При обнаружении проблем с производительностью могут быть запущены автоматические оповещения, чтобы уведомить соответствующие команды или отдельных лиц.
Управление инцидентами: внедрите автоматизированную систему управления инцидентами, которая может получать оповещения, создавать запросы и назначать запросы соответствующим командам для решения. Эти действия помогают обеспечить оперативное решение проблем с производительностью и назначение их нужным ресурсам.
Автоматизированная диагностика: разработайте автоматизированные средства диагностики или сценарии, которые могут анализировать данные о производительности и выявлять основные причины проблем с производительностью. Эти инструменты могут помочь точно определить конкретные области или компоненты системы, которые вызывают проблемы с производительностью.
Автоматические действия по исправлению: определите и реализуйте автоматические действия по исправлению, которые могут быть запущены при обнаружении определенных проблем с производительностью. Эти действия могут включать перезапуск служб, настройку распределения ресурсов, очистку кэша или внедрение других методов оптимизации производительности.
Самовосстанавливающиеся системы: встройте в свою систему возможности самовосстановления, автоматизировав процесс восстановления известных проблем с производительностью. Эта возможность может включать в себя автоматическое исправление или корректировку конфигурации системы для восстановления оптимальной производительности.
Устранение технического долга
Технический долг — это накопленная неэффективность, неоптимальные варианты проектирования или сокращения, принятые в процессе разработки, которые могут повлиять на производительность. Технический долг, нечеткий код и слишком сложные реализации могут затруднить достижение эффективности производительности. Решение проблемы технического долга включает в себя выявление и устранение этих проблем для повышения общей производительности и удобства обслуживания рабочей нагрузки. Эта работа может включать в себя рефакторинг кода, оптимизацию запросов к базе данных, улучшение архитектурного проектирования или внедрение лучших методик. Например, вы ввели технический долг, чтобы уложиться в срок — вам нужно будет устранить этот технический долг по мере оптимизации эффективности работы с течением времени.
Оптимизация баз данных
Непрерывная оптимизация баз данных включает в себя определение и реализацию оптимизаций, чтобы гарантировать, что базы данных могут справляться с нагрузками, обеспечивать быстрое время отклика и минимизировать использование ресурсов. Регулярно оптимизируя базы данных, можно повысить производительность приложений, сократить время простоя и улучшить общее взаимодействие с пользователем.
- Оптимизация запросов к базе данных: плохо написанные запросы к базе данных могут снизить производительность базы данных. Неэффективные фильтры могут привести к ненужной обработке данных. Сложные подзапросы, вложенные запросы и избыточные функции могут снизить скорость выполнения. Перепишите запросы, которые извлекают слишком много данных. Определите наиболее распространенные или критически важные запросы к базе данных и оптимизируйте их. Оптимизация помогает обеспечить более быстрые запросы.
- Проверка структуры модели: проверяйте модель данных, чтобы убедиться, что она оптимизирована в соответствии с конкретными требованиями приложения.
Возможности в Power Platform
Автоматизация оптимизации производительности: средство проверки решений предоставляет рекомендации по производительности на основе проверки статического анализа ваших решений по набору правил оптимальной работы для быстрого выявления проблемных закономерностей. Обязательно регулярно просматривайте и выполняйте эти рекомендации.
Мониторинг оптимизации производительности: интегрируйте свои рабочие нагрузки Power Platform с Application Insights для получения аналитики и рекомендаций по оптимизации производительности.
Анализ производительности и использования агента в Copilot Studio: аналитика Copilot предоставляет всесторонний обзор эффективности вашего агента. Он использует технологию искусственного интеллекта (ИИ), чтобы определить, какие темы оказывают наибольшее влияние на частоту эскалации, частоту отказов и коэффициент разрешения. Отслеживание коэффициентов вовлеченности в разговор и результатов имеет важное значение для измерения показателей эффективности агента и выявления областей, требующих улучшения.
Контрольный список по обеспечению эффективности процессов
Обратитесь к полному набору рекомендаций.