Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando seu aplicativo de contêiner é dimensionado para zero durante os períodos de inatividade, a próxima solicitação de entrada dispara um início a frio. Um arranque a frio é o processo demorado de extrair a imagem do contentor, provisionar recursos e iniciar o código da aplicação.
Esse atraso afeta a experiência do usuário, especialmente para aplicativos que exigem tempos de resposta rápidos. Os arranques a frio são frequentemente mais percetíveis em cenários que envolvem imagens de contentores grandes, inicialização de aplicações complexas ou cargas de trabalho de ML/IA.
Este guia ajuda-o a reduzir os tempos de arranque a frio nas Aplicações de Contentor do Azure.
Otimize o tamanho da imagem do contêiner
O aprendizado de máquina e cargas de trabalho pesadas de IA são frequentemente associados a imagens de contêiner grandes. Sempre que possível, reduza o tamanho dessas imagens tanto quanto possível e elimine qualquer uso de bibliotecas desnecessárias.
Muitas vezes, as imagens fazem a transição do treinamento para o uso de inferência com apenas ajustes mínimos. Certifique-se de auditar seus contêineres para remover ferramentas de desenvolvimento e dependências necessárias apenas para o desenvolvimento de modelos enquanto prepara seu contêiner para uso de inferência.
Evite registos de imagens remotos
Use registros de contêiner próximos ao seu ambiente de Aplicativos de Contêiner. Normalmente, isso significa que você deseja usar um Registro de Contêiner do Azure implantado na mesma região do seu ambiente ou um Registro premium que apresenta distribuição global.
Gerencie grandes downloads
Use suportes de armazenamento para armazenar dados críticos perto do seu aplicativo de contêiner, especialmente quando os tamanhos dos arquivos são grandes. Por exemplo, se o seu aplicativo exigir um modelo de idioma grande, você poderá fazer o download prévio do modelo para sua conta de armazenamento. Ao ler arquivos grandes de uma conta de armazenamento, você evita a latência de extrair arquivos pela Internet.
Se você estiver criando um suporte de armazenamento para cargas de trabalho de IA, certifique-se de usar as opções de montagem mais apropriadas para suas necessidades.
Implemente uma sonda de saúde de vivacidade personalizada ou comece a ouvir cedo
Os Aplicativos de Contêiner do Azure configuram automaticamente uma sonda de vivacidade quando a entrada está habilitada. Imagens e aplicações que demoram a iniciar após o lançamento da imagem podem causar problemas com o contentor. Os aplicativos de contêiner podem matar o aplicativo inicial porque ele falha na sonda de vivacidade.
Para resolver o problema de impedir que os Aplicativos de Contêiner matem prematuramente uma imagem, implemente uma sonda de vivacidade personalizada para permitir inicializações mais longas. Como alternativa, você pode escutar na porta de destino dedicada conexões simples no início do ciclo de inicialização para inicializar seu aplicativo depois que a porta for aberta.
Acomodações do lado do cliente
Os tempos de arranque a frio variam consoante a sua aplicação. Para reduzir ao máximo a perceção desse tempo, oriente os seus clientes para acomodar o atraso.
Sinalizar aos usuários que uma determinada solicitação pode levar mais tempo e implementar novas tentativas é essencial. Você também pode endurecer o seu código para evitar tempos limite inesperados que excedem o que a sua aplicação consegue gerir de forma eficiente.
Instrumentação do lado da aplicação
Para solucionar problemas de desempenho, implemente métricas de desempenho do lado do aplicativo e registro em log para cada estágio do ciclo de vida do aplicativo.
Ativar seu aplicativo de forma proativa
Se as recomendações acima não fornecerem o desempenho desejado, acorde seu aplicativo antes de qualquer uso real. Por exemplo, considere configurar uma tarefa às 9h para ativar a aplicação antes que os funcionários comecem o seu dia de trabalho. Essa abordagem pode eliminar partidas a frio demoradas e, ao mesmo tempo, permitir economias de custos de escala até zero sempre que o aplicativo não estiver em uso.