Почему azure перезапускает веб-сайт, когда я делаю замену слота развертывания?
У меня есть веб-сайт .net 4.5, работающий на сайтах Azure. У меня настроено промежуточное развертывание. Я разогреваю оба сайта, а затем запускаю процесс свопинга (как из лазурного портала, так и из Azure powershell). Независимо от того, что я пытаюсь, процесс обмена перезапускает мои сайты (оба), и они занимают около 3 минут для загрузки.
У меня было впечатление, что развертывание подстановки должно было держать сайты "теплыми" и не иметь времени простоя? Мои сайты необычайны в течение 3 минут!
Насколько я могу судить, как производственные, так и промежуточные слоты имеют одинаковые настройки приложений и т.д.
Приветствуются любые советы или указатели.
Ответы
Ответ 1
Джефф прав. Когда в слоте установлены липкие настройки приложения или строки подключения, тогда процесс замены веб-сайта будет перезапущен во время обмена. Последовательность действий, которые происходят в этом случае, такова:
- Примените липкие настройки из производственного слота к рабочему процессу сайта, который в настоящее время находится в промежуточном слоте. Это вызывает перезапуск рабочего процесса;
- Разогрейте рабочий процесс сайта в промежуточном слоте, сделав http-запросы к его корневому URL-адресу в каждом экземпляре VM, где должен работать сайт;
- Обмен рабочими процессами между слотами. Теперь прогретый рабочий процесс находится в производственном слоте и принимает производственный трафик;
- Примените липкие настройки из промежуточного слота к рабочему процессу, который в настоящее время находится в промежуточном слоте. На данный момент это рабочий процесс "используется для производства". Это изменение конфигурации вызывает перезапуск этого рабочего процесса, но в этот момент он не принимает никакого производственного трафика.
Ответ 2
Я столкнулся с этим, когда я использую параметры параметров липкого приложения. Мое предположение заключается в том, что он выполняет обмен, но затем должен изменить параметр на липкое значение, и поэтому он похож на то, что вы вносите изменения в web.config или изменяете значение в самом портале, который должен перезапустить приложение.
Я не нашел официальной документации по этому вопросу, но если у вас установлены липкие слоты, я считаю, что это преступник. И я не уверен, есть ли что-то, что можно сделать по этому поводу, если это так.