Что может вызвать высокое использование KUDU (и возможные ошибки 502) в плане обслуживания приложений Azure? - PullRequest
0 голосов
/ 02 мая 2019

У нас есть несколько приложений API и веб-приложений в экземпляре службы приложений Azure P2v2. Мы испытываем некоторую нестабильность платформы: служба приложений становится нездоровой, и мы получаем множество ошибок 502 в разных приложениях (каждый раз по-разному), что объясняется очень высокой загрузкой ЦП и памяти в службе приложений. Мы пробовали масштабировать до P3v2, но, как бы то ни было, похоже, проблема в конечном итоге потребляет все доступные ресурсы.

Всякий раз, когда нам удавалось отследить виновника среди приложений, оно оказывалось не самим приложением, а связанным с ним сервисом Kudu.

Пример сообщения об ошибке: High physical memory usage detected on multiple occasions. The kudu process for the app [sitename]'pe-services-color' is the most common cause of high memory usage. The most common cause of high memory usage for the kudu process is web jobs., где само приложение, чья служба Kudu названа, меняется довольно часто.

Что может быть причиной того, что службы Kudu потребляют так много ресурсов ЦП / памяти, и что мы можем сделать, чтобы стабилизировать эту службу приложения?

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

(я видел этот вопрос , но ответ не помогает)

Обновление Со стороны поддержки Azure это, по-видимому, ограничения на малые - средние - большие не общие службы приложений:

Максимальный размер рабочего сайта

Маленький 5 Средний 10 Большой 20

  • с «сайтами», включающими сервисы приложений / приложения API и их слоты.

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

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

1 Ответ

0 голосов
/ 13 мая 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...