Рубрики
Uncategorized

Как отлаживать в производстве, как профессионал?

Как отлаживать в производстве, как профессионал?. Tagged с DevOps, обсудите, помощь, производительность.

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

Затем и их проблема с производством происходит из -за игнорируемого тестового случая, никаких тестовых случаев или экологических проблем и т. Д.

Я следую ниже темам, когда возникает проблема с производством. Эта проблема может быть уведомлена вам либо со стороны вашей команды/поддержки людей/Twitter/других источников.

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

1) DOS — Люди могут жаловаться, что выпуск 2 -й подключения. Медленный ответ — почти все/определенный тип запросов медленные, что может привести к первому случаю 3) Неправильное поведение — продукт не работает должным образом 4) Проблемы входа в систему — проблемы с сеансами. 5) Высокая частота ошибок — это тихая проблема, о которой знают только разработчики.

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

Проверьте статистику в приведенном ниже заказе

Среднее время транзакции

DOS и медленный запрос. Проверьте, является ли весь запрос медленный или определенный тип. Если все запросы являются медленными, то это проблема с любыми текущими серверами приложений/серверов зависимостей, таких как MySQL, Redis, Kafka и т. Д. Так что проверьте ниже для соответствующей машины

Статус машины

Включая чеки на процессор (> 80%), свободную память (<10%), активные потоки/процесс (> 90%выделенного), запрос времени ожидания перед обработкой (<2S), время GC (если вы используете язык на основе GC> 10S), свободный размер диска (<5%), память кучи (<несколько МБ).

  1. Если что -то из вышеперечисленного происходит, предпринимайте необходимые шаги ниже.
  2. Высокий процессор — подождите некоторое время/проверьте потоки/процесс, который занимает много времени. Это всегда будет проблема с кодом или увеличивать размер машины
  3. Бесплатная память — всегда кодирующая проблема. Проверьте последнее развертывание или увеличение размера машины
  4. Активные потоки — слишком много активных потоков из -за слишком большого количества запросов были затронуты из -за проблемы с нисходящим/кодом. Проверьте соответственно 5.gc время — ваш код является проблемой. Проверьте журналы, чтобы увидеть, где происходит GC. Получите свалку потока и проверьте его. 6. Бесплатный размер диска — ваш код написал что -то в машине, и он не очищен. Проверьте свой сервер приложений для использования диска папок.
  5. Память головы — ваш код использовал много объектов и не выяснила.
  6. Службы зависимости — проверьте вышеизложенное на все услуги, от которых зависит ваше приложение, такие как MySQL, REDIS и т. Д.

Большинство из вышеперечисленных случаев могут быть исправлены, возвращая ваш код.

Журналы (5 — 10 минут)

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

Все вышеперечисленные проверки должны раскрыть все необходимые вещи, необходимые для исправления. Если не обратитесь к экспертам в вашей команде немедленно.

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

  1. DB/Cache/Downstream Services Corruption
  2. Данные не отправлены вниз по течению
  3. Репликация задержка

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

Положите аккуратный RCA и сообщите команде. Запишите тестовые примеры для всех этих сценариев.

Это то, что я следую, что позволяет мне решить проблему в производстве между 10-20 минутами.

* * Если вы следите за хорошей практикой. Дай мне знать. * *

Оригинал: «https://dev.to/vaidhyanathan93/how-to-check-and-fix-production-issue-in-10-minutes-3flm»