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