Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
O dimensionamento automático está disponível para todos os tipos de aplicativo: Windows e Linux (implantação como código e contêiner). Não há suporte para o dimensionamento automático para o tráfego de slot de implantação.
O dimensionamento automático é uma opção de expansão horizontal que lida automaticamente com as decisões de dimensionamento para seus aplicativos da Web e planos do Serviço de Aplicativos. É diferente do Dimensionamento automático do Azure, que permite definir regras de dimensionamento com base em agendamentos e recursos.
Com o dimensionamento automático, você pode ajustar as configurações de dimensionamento para aprimorar o desempenho do seu aplicativo e evitar problemas de inicialização a frio. A plataforma pré-aquece as instâncias para atuar como um buffer no escalonamento horizontal, garantindo transições de desempenho suaves. Você é cobrado por segundo para todas as instâncias, incluindo instâncias pré-aquecidas.
A tabela a seguir compara as opções de expansão e expansão disponíveis no Serviço de Aplicativo:
| Manual | Autoescala | Dimensionamento automático | |
|---|---|---|---|
| Tipos de preço disponíveis | Básico e superior | Padrão e superior | Níveis de preços Premium V2 (P1V2, P2V2 e P3V2). Níveis de preços Premium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3 e P5MV3). |
| Dimensionamento baseado em regras | Não | Sim | Não, a plataforma gerencia o escalonamento horizontal e vertical com base no tráfego HTTP. |
| Escalonamento baseado em agendamento | Não | Sim | Não |
| Instâncias sempre prontas | Não, seu aplicativo Web é executado no número de instâncias escaladas manualmente. | Não, seu aplicativo Web é executado em outras instâncias disponíveis durante a operação de expansão, com base no limite definido para regras de dimensionamento automático. | Sim (mínimo de 1) |
| Instâncias pré-aquecidas | Não | Não | Sim (padrão de 1) |
| Máximo por aplicativo | Não | Não | Sim |
Como o dimensionamento automático funciona
Você habilita o dimensionamento automático para um plano do Serviço de Aplicativo e configura um intervalo de instâncias para cada um dos aplicativos Web. À medida que seu aplicativo web começa a receber tráfego HTTP, o Serviço de Aplicativo monitora a carga e adiciona instâncias. Os recursos podem ser compartilhados quando vários aplicativos Web dentro de um plano do Serviço de Aplicativo são necessários para escalar horizontalmente simultaneamente.
Veja alguns cenários em que você deve escalar horizontalmente automaticamente:
- Você não deseja configurar regras de dimensionamento automático com base em métricas de recursos.
- Você deseja que seus aplicativos Web dentro do mesmo plano do Serviço de Aplicativo sejam dimensionados de forma diferente e independente um do outro.
- Seu aplicativo web está conectado a um banco de dados ou sistema herdado, que pode não escalar tão rápido quanto o aplicativo web. O dimensionamento permite definir automaticamente o número máximo de instâncias para as quais o plano do Serviço de Aplicativo pode ser dimensionado. Essa configuração ajuda o aplicativo Web a não sobrecarregar o back-end.
Habilitar o dimensionamento automático
A configuração Intermitência máxima representa o número máximo de instâncias que seu plano do Serviço de Aplicativo pode atingir com base nas solicitações HTTP recebidas. Para planos Premium v2 & v3, você pode especificar até 30 instâncias. O número máximo de intermitência deve ser igual ou maior que o número de trabalhadores especificado para o plano do Serviço de Aplicativo.
Para habilitar o dimensionamento automático, acesse o menu à esquerda do aplicativo web. Em Configurações, selecione Expansão (plano do Serviço de Aplicativo). Selecione Automático, atualize o valor de Intermitência máxima e selecione o botão Salvar.
Definir o número mínimo de instâncias de aplicativo Web
A configuração no nível do aplicativo Sempre pronto especifica o número mínimo de instâncias. Se a carga exceder o número mínimo definido em instâncias sempre prontas, instâncias adicionais serão adicionadas, até o valor máximo de intermitência especificado para o plano do Serviço de Aplicativo.
Para definir o número mínimo de instâncias do aplicativo Web, acesse o menu à esquerda do aplicativo e selecione Expansão (plano do Serviço de Aplicativo). Atualize o valor Instâncias sempre prontas e selecione o botão Salvar.
Definir o número máximo de instâncias de aplicativo Web
O valor máximo do limite de escala define o número máximo de instâncias para as quais um aplicativo Web pode dimensionar. O limite máximo de escala é útil quando um componente downstream como um banco de dados tem taxa de transferência limitada. O valor máximo por aplicativo pode estar entre 1 e o valor máximo de intermitência.
Para definir o número máximo de instâncias do aplicativo Web, acesse o menu à esquerda do aplicativo e selecione Expansão (plano do Serviço de Aplicativo). Selecione Impor limite de expansão, atualize o Limite máximo de escala e selecione o botão Salvar.
Atualizar instâncias pré-aquecidas
A configuração de instância pré-aquecida fornece instâncias aquecidas como um buffer durante a escala HTTP e eventos de ativação. As instâncias pré-aquecidas continuam no buffer até que o limite máximo de expansão seja atingido. O número padrão de instâncias pré-aquecidas é 1 e, na maioria dos cenários, esse valor deve permanecer em 1.
Não é possível alterar a configuração da instância pré-armada no portal. Em vez disso, você deve usar a CLI do Azure.
Desabilitar o dimensionamento automático
Para desativar o dimensionamento automático, acesse o menu à esquerda do aplicativo da Web e selecione Expansão (plano do Serviço de Aplicativo). Selecione Manual e selecione o botão Salvar .
Perguntas frequentes
O dimensionamento automático dá suporte a aplicativos do Azure Functions?
Não, você só pode ter aplicativos Web do Serviço de Aplicativo do Azure no plano do Serviço de Aplicativo no qual deseja habilitar o dimensionamento automático. Para aplicativos do Azure Functions, recomendamos que você use o plano Premium do Azure Functions .
Cuidado
O dimensionamento automático é desabilitado quando aplicativos Web do Serviço de Aplicativo e aplicativos do Azure Functions estão no mesmo plano do Serviço de Aplicativo.
Como o dimensionamento automático funciona nos bastidores?
Os aplicativos definidos para serem dimensionados automaticamente são monitorados continuamente, com avaliações de integridade do trabalho ocorrendo pelo menos uma vez a cada poucos segundos. Se o sistema detectar um aumento na carga do aplicativo, as verificações de saúde se tornarão mais frequentes. Se a integridade do trabalho se deteriorar e as solicitações forem mais lentas, outras instâncias serão solicitadas. A velocidade com que as instâncias são adicionadas varia de acordo com o padrão de carga e o tempo de inicialização do aplicativo individual. Aplicativos com breves tempos de inicialização e intermitências intermitentes de carga podem ver uma máquina virtual adicionada a cada poucos segundos a um minuto.
Depois que a carga diminuir, a plataforma iniciará uma revisão para possíveis dimensionamentos. Esse processo normalmente começa cerca de 5 a 10 minutos depois que a carga para de aumentar. Durante o dimensionamento, as instâncias são removidas a uma taxa máxima de uma a cada poucos segundos a um minuto.
Se vários aplicativos Web forem implantados no mesmo plano do Serviço de Aplicativo, a plataforma tentará alocar recursos entre instâncias disponíveis. Essa alocação é baseada na carga de cada aplicativo Web individual.
Como fazer para ser cobrado por instâncias pré-inicializadas?
Para entender como você é cobrado por instâncias pré-inicializadas, considere este cenário: digamos que o seu aplicativo Web tenha cinco instâncias sempre prontas, juntamente com uma instância pré-inicializada definida como o padrão.
Quando o seu aplicativo Web está ocioso e não recebe solicitações HTTP, ele é executado com as cinco instâncias sempre prontas. Durante esse tempo, você não é cobrado por instâncias pré-inicializadas porque as instâncias sempre prontas não estão sendo usadas e, portanto, nenhuma instância pré-inicializada é alocada.
No entanto, assim que seu aplicativo Web começar a receber solicitações HTTP e as cinco instâncias sempre prontas se tornarem ativas, uma instância pré-armada será alocada. A cobrança por ela começa neste momento.
Se a taxa de solicitações HTTP continuar aumentando e o Serviço de Aplicativo decidir dimensionar além das cinco instâncias iniciais, ele começará a utilizar a instância pré-armada. Isso significa que, quando há seis instâncias ativas, uma sétima instância é imediatamente provisionada para preencher o buffer pré-inicializado.
Este processo de dimensionamento e pré-inicialização continua até que a contagem máxima de instâncias para o aplicativo seja atingida. É importante observar que nenhuma instância está pré-inicializada ou ativada além da contagem máxima de instâncias.
Por que AppServiceHTTPLogs tem entradas de log semelhantes a /admin/host/ping com status 404?
O dimensionamento automático do Serviço de Aplicativo verifica periodicamente o ponto de extremidade /admin/host/ping junto com outros mecanismos de verificação de integridade inerentes à plataforma. Ocasionalmente, devido às configurações de plataforma existentes, esses pings podem retornar 404 erros. No entanto, é importante observar que esses erros 404 não devem afetar a disponibilidade ou o desempenho de dimensionamento do aplicativo.
Se seu aplicativo web retornar um status 5xx, esses pings dos endpoints podem causar reinicializações intermitentes, embora este cenário seja incomum. Verifique se seu aplicativo web não retorna um status 5xx neste endpoint. Esses pontos de extremidade de ping não podem ser personalizados.
Como fazer para acompanhar o número de instâncias de expansão durante o evento de dimensionamento automático?
A métrica AutomaticScalingInstanceCount relata o número de máquinas virtuais nas quais o aplicativo está em execução, incluindo a instância pré-aquecida, se ela for implantada. Essa métrica também pode ser usada para acompanhar o número máximo de instâncias que seu aplicativo Web escalonou durante um evento de dimensionamento automático. Essa métrica está disponível apenas para os aplicativos que têm o Dimensionamento Automático habilitado.
Como a Afinidade ARR afeta o dimensionamento automático?
Observação
Ao habilitar o Dimensionamento Automático no Plano do Serviço de Aplicativo, todos os aplicativos pré-existentes no plano terão automaticamente a Afinidade ARR desabilitada.
O Serviço de Aplicativo do Azure utiliza cookies de Roteamento de Solicitações de Aplicativos, conhecidos como ARR Affinity. Os cookies de afinidade ARR restringem o dimensionamento porque enviam solicitações apenas para servidores associados ao cookie, em vez de qualquer instância disponível. Para aplicativos que armazenam o estado, é melhor escalar verticalmente (aumentar os recursos em uma única instância). Para aplicativos sem estado, o dimensionamento (adição de mais instâncias) oferece mais flexibilidade e escalabilidade. Os cookies de afinidade ARR são habilitados por padrão no Serviço de Aplicativo. No entanto, ao usar o dimensionamento automático, você deve desabilitar cookies de afinidade ARR para garantir o dimensionamento adequado.
Para desabilitar os cookies de Afinidade ARR, selecione seu Aplicativo de Serviço e, em Configurações, selecione Configuração. Em seguida, selecione a guia Configurações gerais . Em Afinidade de sessão, selecione Desativado e, em seguida, selecione o botão Salvar .
Por que meu plano do Serviço de Aplicativo mostra mais instâncias atribuídas do que as configurações sempre prontas em meus aplicativos?
Isso pode acontecer quando as instâncias atribuídas do plano são maiores que o maior número de instâncias sempre prontas usadas por qualquer aplicativo no plano. As instâncias atribuídas representam o número mínimo de instâncias que o plano deve executar. Se esse valor for maior do que os valores sempre prontos, o plano continuará a usar esse mínimo.
Para corrigir essa configuração, atualize a contagem de instâncias sempre pronta para qualquer aplicativo no plano. Você deve alterar o valor. Salvar o mesmo valor não dispara o recálculo. Após a atualização, o plano define sua contagem de instâncias atribuídas como o valor sempre pronto mais alto em todos os aplicativos do plano.
Você deve concluir essa atualização usando a CLI ou a API do Azure Resource Manager. O portal do Azure não aplica o recálculo corretamente no momento.
Exemplo: Um plano pode ter 7 instâncias atribuídas. Os aplicativos no plano podem ter sempre valores prontos de 2, 3 e 5. A cobrança é baseada em 7 porque esse é o número mínimo de instâncias. Se você alterar o valor de prontidão contínua de qualquer aplicativo, por exemplo, de 3 para 4, o plano será recalculado. Em seguida, ele define sua contagem de instâncias atribuída como 5, que é o valor sempre pronto mais alto.