Масштабированный сервис приложений, похоже, плохо масштабируется. Направляет весь трафик на экземпляр со 100% загрузкой ЦП.

У меня есть план обслуживания приложения, который масштабирован до двух экземпляров. Мне удалось получить статистику по двум экземплярам, ​​один из которых загружен на 100%, а другой - на 5%. Это проблема, потому что кажется, что все HTTP-запросы отправляются на тот, который использует процессор на 100%, и, следовательно, веб-страница загружается очень медленно.

Я выключил ARR Affinity согласно этой странице

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

2 ответа

Решение

Таким образом, проблема исправилась, когда я уменьшил масштаб с P2v2 до S3. Это обе одинаковые цены, одна премиум-класса, другая стандартного уровня.

Все запросы теперь уравновешены равномерно, и время отклика веб-сайта сократилось с 10-12 секунд до 60 мс, как должен делать хороший веб-сайт.

До сих пор не уверен, почему это произошло в первую очередь

Есть ли другая причина, по которой все запросы API и HTTP отправляются одному и тому же экземпляру?

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

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

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

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

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

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

Другие вопросы по тегам