У меня есть план обслуживания приложений, который увеличен до двух экземпляров. Мне удалось получить статистику по двум экземплярам, один из которых имеет 100% ЦП, а другой - 5% ЦП. Это проблема, потому что кажется, что все HTTP-запросы отправляются тому, который использует 100% ЦП, и поэтому веб-страница загружается очень медленно.
Я отключил ARR Affinity согласно этой странице
Есть ли еще одна причина, по которой все запросы API и HTTP отправляются в один и тот же экземпляр? Что я могу сделать, чтобы сбалансировать нагрузку между двумя экземплярами?
Так что проблема исправилась, когда я снизил масштаб с P2v2 до S3. Оба они стоят ровно столько же, один - премиум-уровень, другой - стандартный.
Теперь все запросы равномерно сбалансированы и время отклика сайта сократилось с 10-12 секунд до 60мс, как и должно быть у хорошего сайта.
До сих пор не понятно, почему это произошло в первую очередь
.Есть ли еще одна причина, по которой все запросы API и HTTP отправляются в один и тот же экземпляр?
Если у вас есть балансировщик нагрузки, используя постоянство сеанса , вы можете сохранить тот же клиент обращается к той же виртуальной машине.
На уровнях Free и Shared приложение получает минуты ЦП на общем экземпляре виртуальной машины и не может масштабироваться. На других уровнях приложение запускается и масштабируется следующим образом.
Когда вы создаете приложение в службе приложений, оно помещается в план службы приложений. Когда приложение запускается, оно запускается на всех экземплярах виртуальных машин, настроенных в плане службы приложений. Если несколько приложений находятся в одном плане службы приложений, все они используют одни и те же экземпляры виртуальной машины. Если у вас есть несколько слотов развертывания для приложения, все слоты развертывания также работают на одних и тех же экземплярах виртуальной машины. Если вы включаете журналы диагностики, выполняете резервное копирование или запускаете веб-задания, они также используют циклы ЦП и память на этих экземплярах виртуальных машин.
Таким образом, план службы приложений является единицей масштабирования приложений службы приложений. Если план настроен на запуск пяти экземпляров виртуальных машин, то все приложения в плане работают на всех пяти экземплярах. Если план настроен на автоматическое масштабирование, то все приложения в плане масштабируются вместе на основе настроек автомасштабирования.
Что я могу сделать, чтобы равномерно распределить нагрузку между двумя экземплярами?
Вы можете использовать автоматическое масштабирование условия для масштабирования виртуальных машин на основе такой метрики, как 50% ЦП на экземпляр. Для получения информации о масштабировании приложения см. Масштабирование количества экземпляров вручную или автоматически