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
Algumas das diretrizes a seguir podem funcionar apenas nos Serviços de Aplicativo do Windows ou linux. Por exemplo, os Serviços de Aplicativos do Linux são executados no modo de 64 bits por padrão.
Este artigo responde a perguntas comuns sobre disponibilidade, desempenho e solução de problemas de aplicativos no recurso Aplicativos Web do Serviço de Aplicativo do Azure. Use este guia para resolver problemas rapidamente e otimizar a confiabilidade do aplicativo.
Onde posso obter mais informações sobre cotas e limites de vários planos do Serviço de Aplicativo?
Para obter informações sobre cotas e limites, consulte limites de Serviço de Aplicativo.
Meu Plano do Serviço de Aplicativo exibindo o uso de CPU/Memória mesmo quando todos os Aplicativos Web são interrompidos
O Serviço de Aplicativo do Azure requer processos contínuos do sistema que lidam com várias operações e recursos da plataforma, como atualizações de segurança, disponibilidade do console SCM, monitoramento de aplicativos, autenticação e muitos outros recursos vitais do seu aplicativo Web.
Os processos do sistema serão executados em Planos do Serviço de Aplicativo mesmo se não houver nenhum aplicativo Web em execução ou se o Plano do Serviço de Aplicativo não contiver nenhum aplicativo Web.
Os processos da plataforma consumirão uma quantidade mínima de recursos (como CPU, memória e espaço em disco), e o mesmo deve ser contabilizado durante o planejamento de capacidade, monitoramento e configuração de gatilho de dimensionamento automático de um Plano do Serviço de Aplicativo.
O desempenho do meu aplicativo está lento.
Vários fatores podem contribuir para diminuir o desempenho do aplicativo. Para obter as etapas detalhadas de solução de problemas, consulte Solucionar problemas de desempenho lento do aplicativo Web.
Dica
- Habilite a opção Always On em Configuração>Configurações gerais para manter seu aplicativo aquecido e evitar inícios frios. Isso ajuda a reduzir o atraso após o tempo ocioso, especialmente em planos Básicos e superiores.
- Configure um caminho de verificação de integridade para monitorar a integridade do aplicativo e substituir automaticamente instâncias sem resposta. Isso ajuda a manter a disponibilidade e o desempenho. Para obter mais informações, consulte Monitorar instâncias do Serviço de Aplicativo usando a verificação de integridade.
Como solucionar problemas de alto consumo de CPU?
Em alguns cenários de alto consumo de CPU, seu aplicativo pode exigir realmente mais recursos de computação. Nesse caso, considere a possibilidade de dimensionar para uma camada de serviço superior para que o aplicativo obtenha todos os recursos necessários. Outras vezes, o alto consumo de CPU pode ser causado por um loop ou uma prática de codificação incorretos. Obter informações sobre o que está causando o aumento de consumo da CPU é um processo de duas partes. Primeiro, crie um despejo de processo e, em seguida, analise o despejo de processo. Para obter mais informações, consulte Capturar e analisar um arquivo de despejo para alto consumo de CPU para aplicativos Web.
Como solucionar problemas de alto consumo de memória?
Em alguns cenários de alto consumo de memória, seu aplicativo pode exigir realmente mais recursos de computação. Nesse caso, considere a possibilidade de dimensionar para uma camada de serviço superior para que o aplicativo obtenha todos os recursos necessários. Outras vezes, um bug no código pode causar um vazamento de memória. Uma prática de codificação também pode aumentar o consumo de memória. Obter informações sobre o que está causando o aumento de consumo da memória é um processo de duas partes. Primeiro, crie um despejo de processo e, em seguida, analise o despejo de processo. Diagnóstico de falha da Galeria de extensão de Site do Azure pode executar com eficiência as seguintes etapas. Para obter mais informações, consulte Capturar e analisar um arquivo de despejo de memória alta intermitente para aplicativos Web.
Como automatizar a Aplicativos Web do Serviço de Aplicativo usando o PowerShell?
Você pode usar os cmdlets do PowerShell para gerenciar e manter os aplicativos Web do Serviço de Aplicativo. Em nossa postagem do blog Automatizar os aplicativos Web hospedados no Serviço de Aplicativo do Azure usando o PowerShell, descrevemos como usar Azure Resource Manager com base nos cmdlets do PowerShell para automatizar tarefas comuns.
Observação
Para scripts de automação atuais, use o módulo Az.Websites mais recente. O módulo mais antigo AzureRM foi preterido.
Preciso coletar informações para solucionar problemas do meu aplicativo Web
Para exibir os logs de eventos de um aplicativo Web
- Entre no site Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - No menu, selecione Console de depuração>CMD.
- Abra a pasta LogFiles.
- Para exibir logs de eventos, selecione o ícone de lápis ao lado de eventlog.xml.
- Para baixar os logs, execute o cmdlet do PowerShell
Save-AzureWebSiteLog -Name webappname.
Para capturar um despejo de memória no modo de usuário de um aplicativo Web
- Entre no site Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - Selecione o menu Process Explorer.
- Clique com botão direito no processo w3wp.exe ou no seu processo WebJob.
- Selecione Baixar o despejo de memória>Despejo completo.
Como exibir informações em nível de processo para um aplicativo Web
Você tem duas opções para exibir as informações de nível de processo para seu aplicativo web:
- No portal do Azure:
- Abra o Process Explorer para o aplicativo web.
- Para ver os detalhes, selecione o w3wp.exe processo.
- No console do Kudu:
- Entre no site Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - Selecione o menu Process Explorer.
- Para o processo w3wp.exe, selecione Propriedades.
- Entre no site Kudu (
Não consigo encontrar meus arquivos de log na estrutura de pastas do meu aplicativo Web ao usar o recurso Cache Local do Serviço de Aplicativo
Se você usar o recurso de Cache Local do Serviço de Aplicativo, a estrutura de pasta de arquivos de log e das pastas de dados para a instância do Serviço de Aplicativo serão afetados. Quando o Cache Local é usado, as subpastas são criadas nas pastas de dados e arquivos de log de armazenamento. As subpastas usam padrão de nomenclatura "identificador exclusivo" + carimbo de data/hora. Cada uma das subpastas corresponde a uma instância de VM na qual o aplicativo Web está executando ou foi executado.
Para determinar se você está usando o Cache Local, verifique a guia Configurações do Aplicativo do Serviço de Aplicativo. Se o Cache local estiver sendo usado, a configuração WEBSITE_LOCAL_CACHE_OPTION do aplicativo será definida como Always.
Para ativar o rastreamento de solicitações com falhas
Para ativar o rastreamento de solicitação com falha, siga estas etapas:
No portal do Azure, vá para seu aplicativo web.
Selecione Todas as configurações>Logs de diagnóstico.
Para Rastreamento de solicitação com falha, selecione On.
Selecione Salvar.
Na folha de aplicativo Web, selecione Ferramentas.
Selecione Visual Studio Online.
Se a configuração não estiver Ativada, selecione Ativada.
Selecione Ir.
Selecione Web.config.
Em system.webServer, adicione a seguinte configuração (para capturar uma URL específica):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*api*" /> <add path="*api*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Para solucionar problemas de desempenho lento, adicione essa configuração (se a solicitação de captura está demorando mais de 30 segundos):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*" /> <add path="*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions timeTaken="00:00:30" statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Para baixar os rastreamentos de solicitação com falha, no portal, vá para seu site.
Selecione Ferramentas>Kudu>Go.
No menu, selecione Console de depuração>CMD.
Selecione a pasta LogFiles e, em seguida, selecione a pasta com um nome que começa com W3SVC.
Para ver o arquivo XML, selecione o ícone de lápis.
Recomendações adicionais para desempenho e resiliência
Utilize o Application Insights e o Azure Monitor para a observabilidade completa do seu aplicativo no App Service, incluindo telemetria, rastreamento de dependências e métricas ao vivo.
Se você estiver implantando em regiões que dão suporte a zonas de disponibilidade, considere habilitar a redundância de zona para melhorar a resiliência durante interrupções regionais. Para obter mais informações, consulte Confiabilidade no Serviço de Aplicativo do Azure.
O Serviço de Aplicativo passa por manutenção de rotina para garantir a confiabilidade da plataforma. Para obter mais controle sobre o comportamento da atualização, especialmente no Ambiente do Serviço de Aplicativo v3, configure a preferência de atualização. Para obter mais informações, consulte a manutenção de rotina (planejada) para o Serviço de Aplicativo do Azure.