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

Применяется к этой рекомендации по повышению эффективности производительности Azure Well-Architected Framework:

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

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

Определения

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

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

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

Подготовка к проблемам

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

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

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

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

Создание плана рассмотрения

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

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

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

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

  • Определение приоритетов. Установите платформу определения приоритетов, чтобы определить серьезность проблем с производительностью и приоритизировать их в зависимости от их влияния на рабочую нагрузку и пользователей.

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

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

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

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

Использование анализа первопричин

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

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

  2. Определите проблему. Четко определите проблему, определив симптомы и влияние проблемы на рабочую нагрузку или пользователей.

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

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

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

  6. Реализуйте решения. Определив первопричину, разработайте и реализуйте решения для решения проблемы с производительностью.

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

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

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

Обращение в службу поддержки поставщиков

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

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

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

Учиться на результатах

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

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

Упрощение поддержки Azure

Разработка методов для выявления и устранения проблем. Azure предоставляет несколько средств, которые помогут вам реагировать на проблемы с производительностью в реальном времени:

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

  • Application Insights — это служба управления производительностью приложений (APM), которая помогает разработчикам и специалистам DevOps отслеживать динамические приложения. Он автоматически обнаруживает аномалии производительности, собирает журналы и события на уровне приложения, а также предоставляет средства аналитики для диагностики проблем.

  • Log Analytics — это служба, которая собирает и анализирует данные журнала из различных источников, включая приложения, виртуальные машины и ресурсы Azure. При использовании Log Analytics можно запрашивать и анализировать данные журнала, чтобы получить представление о производительности и поведении приложений.

Контрольный список для оптимизации производительности

См. полный набор рекомендаций.