Повторяющиеся ошибки 503 с помощью службы приложений Azure и Umbraco - PullRequest
0 голосов
/ 18 января 2019

У нас есть приложение Umbraco, которое мы запускаем в Azure в качестве службы приложений. Мы изначально запустили сайт три года назад на Umbraco 7.2.8. Приложение содержит один основной сайт и несколько дополнительных корневых узлов, которые представляют «микросайты» с использованием общих шаблонов и мультимедиа с основным сайтом.

Летом мы обновили приложение до Umbraco 7.11.1 и развернули его до производства ранней осенью. Начиная с конца октября, клиент сообщал о сбоях, когда приложение выходило в автономный режим, обычно, когда они работали в Umbraco, управляя контентом. Сбои обычно длятся 5-20 минут и приводят к ошибке 503 "Service Unavailable", хотя у нас были некоторые, которые длились дольше 20 минут.

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

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

Отключения становятся все более частыми в течение последнего месяца или около того, и теперь мы ожидаем около одного отключения в день. Мы не используем балансировку нагрузки, и у приложения, по-видимому, достаточно ресурсов: использование памяти всегда стабильно на уровне 25%, а загрузка ЦП обычно ниже 4%, а периодические скачки составляют до 7%.

Нам не удалось найти ничего полезного в журналах Umbraco или журналах приложений Azure. Единственное, что постоянно отображается в журналах каждый раз, когда мы видим сбой, это следующее (URL-адрес Keep Alive URL для безопасности):

2019-01-15 19:21:18,516 [P15832/D4/T81] ERROR Umbraco.Web.Scheduling.KeepAlive - Failed (at "https://XXXXXXXXXX.com:443/umbraco").

System.Threading.Tasks.TaskCanceledException: задача была отменена. в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Задача) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в Umbraco.Web.Scheduling.KeepAlive.d__4.MoveNext ()

Эта ошибка будет повторяться несколько раз в журналах, когда приложение находится в автономном режиме, а затем снова исчезнет, ​​как только приложение вернется в оперативный режим. Мы преследовали это уже несколько месяцев, и мы до сих пор не знаем, как поступить. Недавно мы установили New Relic APM, что позволило нам лучше понять, что делало приложение, когда началось отключение, но мы до сих пор не можем обнаружить какие-либо красные флажки. Кто-нибудь когда-либо видел подобные проблемы при использовании Azure. Какие-нибудь рекомендации о том, что мы можем попробовать дальше?

Спасибо за чтение и заранее спасибо за любую помощь.

...