Рубрики
Uncategorized

Azure Web Apps — ERA устранения неполадок

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

Поэтому я в чем-то сложных отношениях с лазурным лазуром.

Мне это нравится (в целом) это облегчает мою жизнь. Мне нравится, что подключение непрерывной интеграции так невероятно легко. Мне нравится, что управляющие слоты развертывания и настройки новых являются логичными и могут быть сделаны быстро (хотя и с чем-то в развертывании ждут); И мне нравится, что вы можете настроить экземпляры, которые будут масштабироваться вверх или вниз в зависимости от требований, которые сделаны на их ресурсах.

Мне не нравится, сколько времени все, кажется, предпринимают для обновления/развертывания/размножения. Мне не нравится, что пользовательский интерфейс, похоже, был построен около 200 человек в одновременном развитии, так что иногда вещи происходят автоматически, а иногда вы должны ударить 8 различных кнопок подтверждения, прежде чем он регистрирует, что да, вы действительно хотите сделать это. Я не люблю пытаться устранить проблемы с производительностью, когда существует так много разных мест для журналов/аналитики/Insights. И мне не нравится, что иногда их идея об ошибке сообщение является несчастным облаком.

У меня 99 проблем (ну не совсем одновременно, но вот как это чувствовало)

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

Симптомы включены:

  • прерывистое время простоя
  • Медленное приложение перезагружается
  • отставать спереди работы

Одно чистое сердечное приложение в частности было очень больно и классически займет 7-8 минут, чтобы снова перезапустить. BAFFLOYLE, это был также один из наших простейших, самых маленьких, самых низких приложений для трафика, так что дает?

Вы пытались переключить его и снова?

Cuy монтаж (хотя на самом деле это было больше все более разочаровывающей, постоянно уменьшающейся спиралью) протягивания через Spiky Framp после Spiky Graph в представлении приложений, загрузка дампов памяти, надеюсь, нажав через каждую папку журнала на хранилище BLOB и ориентировочно покидывать различные маршруты На приборной панели «Диагностика и решайте проблемы», которые хотят «общаться» для вас. Милая.

Я начал использовать такие фразы, как «Возможное голодание по никам», когда коллеги спрашивали, как я продолжал, и провел достаточно времени, чтение о конфигурации запуска в чистом ядре, которую я смог устранить неполадки приложения на 50 шагов, и все же по-прежнему не почувствуют себя ближе к решение.

Хотя, это не строго верно. Я знал немного больше о том, почему все происходило …

  • У нас есть ~ 7 производственных площадок, сидящих в одном плане приложения, и этот план расширился вверх и вниз по расписанию (7 утра и 10 вечера), а также, когда ресурсы находились под давлением или выпущены в этот период.
  • Когда план масштабировался, экземпляры службы приложений внутри него были либо повернуты или раны для сайтов, и это был этот период, который сделал плохое приложение Wee Net Core самый несчастный
  • Net Core App был тот, который Pingdom поддерживает вытягивание для проблем простоя, но на самом деле все приложения имеют немного колебания во время перезапуска (они просто сидели под различными критериями оповещения, до которого!)

С этой информацией я мог, по крайней мере, сузить мой разговор с Google из абстрактных и подростковых ароматизированных «но почему?» к более бетону «Управление Azure App перезагружается» и «Настройка нескольких экземпляров чистых основных приложений» Отказ Это был маленький, но надеющийся прогресс.

Резка длинной (и, о, ужасно захватывающая) история немного короткая

Дальнейшее расследование и монтажи кодирования привели меня к набору руководства, которые я буду лежать здесь для дальнейшего использования, и для любых, кто также пытается уделять больному Azure Web Apps вернуться к здоровью:

Во-первых, и самая большая победа для меня: Alwayson Настройка на Настройки приложения вкладка. Для тех, которые не знакомы:

Когда всегда включена на сайт, Windows Azure автоматически регулярно пингирует ваш веб-сайт, чтобы веб-сайт всегда был активным и в теплом/запущенном состоянии. Это полезно для обеспечения того, чтобы сайт всегда отзывчивый (и что домен приложений или рабочий процесс не выступал из-за отсутствия внешних HTTP-запросов).

Извлечен из Блог Скотта Гутрири

Звук чувствительный эх? И это — на Производство места. Но, и вот маленькая дыра, которую мы выкопали для себя, когда Microsoft одолжил лопату, это не Вариант специфики слота так — чтобы избежать производственных площадок на холостом ходу аварии после промежуточного помещения — у нас были Alwayson Вариант всегда включен. На каждом слоте. На каждой среде. Для каждого проекта.

Это означает, что каждый раз, когда наши 7 производственных площадок расширились, мы получили (например,) 2 экземпляра каждого, и оба из них будут перезапущены и разогреты, а затем наклониться, чтобы убедиться, что они Всегда включен . Все идет нормально. Но тогда все слоты постановки и разработки будут пингированы и вынуждены начать, и чистый объем ввода/вывода полностью разрушает производительность, ну почти все и дает воспринимаемое время простоя. Почему Azure Web App так сильно страдает с этим? Это другой чайник рыбы Отказ

Там нет хорошего способа управлять этим для нас в данный момент — если вы обрабатываете слотные свопы со сценарием, которого я представляю, вы можете переключить Alwayson Опция Post-Scappage. Мы просто должны были добавить его в качестве ручной проверки в конце развертывания. Это не конец света, но это, безусловно, немного раздражает нюанс, чтобы знать!

Другое, меньшие, WINS включены: перемещение от imemoryCache в idistributedcache в idistributeCache в приложении Net Core (чтобы минимизировать запоминающее устройство ввода/вывода и позволить нам принимать будущие преимущества балансировки нагрузки), а также обеспечение того, чтобы флаг только HTTPS установлен только на истинный Так что инициализатор приложения не подпрыгнул никуда глупо на запусках.

Оригинал: «https://dev.to/lssweatherhead/azure-web-apps—the-troubleshooting-era-4n4i»