Solucionar problemas de desempenho de registro
Este artigo ajuda você a solucionar problemas que podem ocorrer com o desempenho de um registro de contêiner do Azure.
Sintomas
Pode inclui um ou mais dos seguintes:
- As imagens pull ou push com a CLI do Docker demoram mais do que o esperado
- A implantação de imagens em um serviço como o serviço Kubernetes do Azure leva mais tempo do que o esperado
- Não é possível concluir muitas operações simultâneas de pull ou push no tempo esperado
- Aparece um erro HTTP 429 semelhante a
Too many requests
- As operações de pull ou push em um registro replicado geograficamente demoram mais do que o esperado ou o push falha com erro
Error writing blob
ouError writing manifest
Causas
- Sua velocidade de conexão de rede pode retardar as operações de registro – solução
- A compactação ou a extração da camada de imagem pode estar lenta no cliente – solução
- Você está atingindo um limite configurado na camada de serviço do registro ou ambiente – solução
- Seu registro com replicação geográfica tem réplicas em regiões próximas – solução
- Você está extraindo de uma réplica de registro geograficamente distante – solução
Se você não resolver o problema aqui, confira Solução de problemas avançada e Próximas etapas para outras opções.
Possíveis soluções
Verifique a velocidade de rede esperada
Verifique sua velocidade de carregamento e download da Internet ou use uma ferramenta como AzureSpeed para testar o upload e o download do Armazenamento de Blobs do Azure, que hospeda camadas de imagem do registro.
Verifique o tamanho da imagem em relação ao tamanho máximo com suporte e o download com suporte ou a largura de banda de upload para a camada de serviço do registro. Se o registro estiver na camada básica ou standard, considere atualizar para aprimorar o desempenho.
Para a implantação de imagem em outros serviços, verifique as regiões em que o registro e o destino estão localizados. Considere localizar o registro e o destino de implantação na mesma região ou em regiões perto da rede para aprimorar o desempenho.
Links relacionados:
- Criar camadas de serviço do Registro de Contêiner do Azure
- Perguntas frequentes sobre registro de contêiner
- Metas de desempenho e escalabilidade para o Armazenamento de Blobs do Azure
Verificar hardware do cliente
O tipo de disco e a CPU no cliente do Docker podem afetar a velocidade de extração ou compactação de camadas de imagem no cliente como parte das operações pull ou push. Por exemplo, a extração de camada em uma unidade de disco rígido levará mais tempo do que em um disco de estado sólido. Compare as operações de pull para imagens comparáveis do seu registro de contêiner do Azure e de um registro público, como o Docker Hub.
Examine os limites configurados
Se você estiver simultaneamente enviando ou extraindo várias ou várias imagens de várias camadas para o registro, examine os limites de ReadOps e WriteOps com suporte para a camada de serviço do registro. Se o registro estiver na camada básica ou standard, considere atualizar para aumentar os limites. Verifique também com seu provedor de rede sobre a limitação de rede que pode ocorrer com muitas operações simultâneas.
Examine a configuração do daemon do Docker para obter o máximo de uploads ou downloads simultâneos para cada operação de push ou pull no cliente. Configure limites mais altos se necessário.
Considerando que cada camada de imagem requer uma operação de leitura ou gravação de registro separada, verifique o número de camadas em suas imagens. Considere as estratégias para reduzir o número de camadas de imagem.
Links relacionados:
Configurar registro com replicação geográfica
Um cliente do Docker que efetua push de uma imagem para um registro com replicação geográfica pode não efetuar push de todas as camadas de imagem e seu manifesto para uma só região replicada. Essa situação pode ocorrer porque o Gerenciador de Tráfego do Azure roteia as solicitações de registro para o registro replicado mais próximo da rede. Se o registro tiver duas regiões de replicação próximas, as camadas de imagem e o manifesto poderão ser distribuídos para os dois sites, e a operação de push falhará quando o manifesto for validado.
Para otimizar a resolução DNS para a réplica mais próxima ao efetuar push de imagens, configure um registro com replicação geográfica nas mesmas regiões do Azure da origem das operações de push ou a região mais próxima ao trabalhar fora do Azure.
Para solucionar problemas de operações com um registro replicado geograficamente, você também pode desabilitar temporariamente o roteamento do Gerenciador de Tráfego para uma ou mais replicações.
Links relacionados:
Configurar registro DNS com replicação geográfica
Se as operações de pull de um registro com replicação geográfica parecerem lentas, a configuração de DNS no cliente poderá ser resolvida para um servidor DNS geograficamente distante. Nesse caso, o Gerenciador de Tráfego pode estar roteando solicitações para uma réplica que está perto da rede para o servidor DNS, mas distante do cliente. Execute uma ferramenta como nslookup
ou dig
(no Linux) para determinar a réplica para a qual o Gerenciador de Tráfego roteia as solicitações de registro. Por exemplo:
nslookup myregistry.azurecr.io
Uma solução potencial é configurar um servidor DNS mais próximo.
Links relacionados:
- Replicação geográfica no Registro de Contêiner do Azure
- Solução de problemas de operações de push com registros com replicação geográfica
- Desabilitar temporariamente o roteamento para replicação
- Perguntas frequentes do Gerenciador de Tráfego
Solução de problemas avançada
Se as suas permissões para recursos do registro permitirem, verifique a integridade do ambiente do registro. Se forem relatados erros, examine a referência de erro para obter possíveis soluções.
Se a coleção de logs de recursos estiver habilitada no registro, examine o log ContainterRegistryRepositoryEvents. Esse log armazena informações para operações como eventos de push ou pull. Consulte o log para obter falhas de operação em nível de repositório.
Links relacionados:
- Logs para avaliação de diagnóstico e auditoria
- Perguntas frequentes sobre registro de contêiner
- Melhores práticas para o Registro de Contêiner do Azure
Próximas etapas
Se você não resolver o problema aqui, confira as opções a seguir.
- Outros tópicos de solução de problemas de registro incluem:
- Opções de suporte da comunidade
- Microsoft Q&A
- Abra um tíquete de suporte