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