Повышение эффективности с помощью оптимизации
Повышение эффективности системы в определенных целевых показателях производительности для повышения стоимости рабочей нагрузки. |
---|
Целевые показатели, заданные на начальном этапе, основаны на разумном уровне взаимодействия с пользователем, учитывая различные ограничения. Вы должны переоценить и настроить целевые объекты для дальнейшего улучшения опыта. Для дальнейшего улучшения опыта требуется четкое понимание того, как используется система, как она развивается, и как платформа или технология изменились с течением времени. Цикл мониторинга, оптимизации, тестирования и развертывания — это непрерывный процесс.
Усилия по оптимизации эффективности позволяют рабочей нагрузке работать с меньшим потреблением ресурсов. Они могут привести к тому, что рабочая нагрузка будет находиться в избыточном состоянии с запасной емкостью. Используйте такую емкость для повышения надежности системы. Исключите емкость для повышения стоимости системы. Или перепрофилировать емкость для поддержки новых функций продукта в существующих ресурсах.
Когда система получает эффективность, воспользуйтесь возможностью задавать и поддерживать новые целевые показатели производительности.
Пример сценария
Группа инженеров отдела кадров Contoso поддерживает пользовательские интеграции с информационной системой кадров организации (HRIS). Эти интеграции включают в себя финансовые интеграции для заработной платы, статистику найма для государственных отчетов о трудовом праве и другие. Большинство интеграции Функции Azure написаны на C#, которые размещаются в кластере Kubernetes с поддержкой Azure Arc в центре обработки данных организации. Большинство рабочих мест работали хорошо, но из-за задержки в обработке, некоторые из них делают команду тревожной, так как иногда критически важные данные недоступны, когда директор отдела кадров нуждается в нем.
Приоритет оптимизации производительности
Выделение выделенных циклов для оптимизации производительности для решения нефункциональных требований и оптимизаций в функциональных областях. Целевыми объектами этой оптимизации являются ресурсы, код, хранение данных, запросы базы данных и другие.
С помощью этого подхода можно создать культуру оптимизации на основе производительности. Вы следите за упреждающим мониторингом шаблонов производительности, а также точной настройкой приложения.
Задача Компании Contoso
- Команда довольно слом, и их невыполненная работа длинна. Большую часть времени они работают в "пожаре и забудете" мышление при написании и развертывании интеграции; интеграции записываются, развертываются, а затем команда переходит к следующей задаче.
- Команда была вызвана для критически важных проблем поддержки инцидентов часто из-за того, что высокопоставленные руководители не имеют доступа к данным своевременно.
- Команда заинтересована в том, что необходимо внести улучшения, но не определили приоритеты при внесении необходимых изменений.
Применение подхода и результатов
- Теперь команда выделяет 20% каждого спринта для технического долга и других действий по оптимизации. Это покупает время инженеров, чтобы определить приоритеты и решить критически важные области и другие области, где влияние может быть наиболее значимым.
- Принимая этот подход, команда может выделить необходимое время для решения проблем с производительностью, вызывающих задержки обработки данных.
Поиск улучшений проектирования
Расширьте архитектуру с новыми шаблонами и компонентами дизайна, которые могут повысить производительность таким образом, что ранее не учитывалось из-за ограниченного времени или бюджета.
Новые конструкции и компоненты могут оптимизировать систему, что приводит к улучшению взаимодействия с пользователем и долгосрочной экономичности. Например, можно использовать кэширование или добавление сетевого компонента доставки содержимого.
Задача Компании Contoso
- Команда использовала Функции Azure и потоки на основе триггеров в течение нескольких лет и не посвятила время для оценки альтернатив этому подходу.
Применение подхода и результатов
- Команда рассматривает другие способы использования Функции Azure и находит, что устойчивые функции поддерживают модель вентилятора, которая может помочь им параллелизировать определенную задачу заработной платы.
- Команда включает этот шаблон в свой каталог дизайна для будущего проектирования. Кроме того, это было хорошим напоминанием о других способах решения проблем производительности, чем просто оптимизации кода и очистки данных.
Анализ данных телеметрии и тенденций
Используйте средства мониторинга для анализа исторических тенденций и определения путей реализации потоков и кода, которые помогут наиболее эффективно выполнить оптимизацию производительности. Мы рекомендуем средства и профилировщики для мониторинга производительности приложений (APM) для этой цели. Кроме того, определите горячие пути операции и другие потенциальные узкие места в системе.
При выявлении повторяющихся проблемных областей команда может сосредоточиться на том, где достижения являются самыми высокими.
Задача Компании Contoso
- Команда инструментировала все функции с помощью приложение Azure Insights.
- Они в основном используют Application Insights для устранения проблем с перерывами и приемника ведения журнала.
- Исторически их подход к целевым областям для улучшения был основан на обратной связи, поступающих от старшей команды руководства.
Применение подхода и результатов
- Хотя отзывы важны, команда понимает, что Application Insights выполняет довольно хорошую работу по обнаружению горячих точек в приложениях, которые он отслеживает.
- Команда начинает использовать эту функциональность и в сочетании с знанием, какие потоки важны, это превращается в ценный инструмент для 20% усилий команды по техническому улучшению и эффективности.
- Используя Application Insights, команда может заранее определить рискоспособную интеграцию и справиться с ней до того, как член команды руководства столкнулся с проблемой.