Problemen met registerprestaties oplossen

Dit artikel helpt u bij het oplossen van problemen die kunnen optreden met de prestaties van een Azure-containerregister.

Symptomen

Dit kan een of meer van de volgende omvatten:

  • Het ophalen of pushen van installatiekopieën met de Docker CLI duurt langer dan verwacht
  • Implementatie van installatiekopieën naar een service zoals Azure Kubernetes Service duurt langer dan verwacht
  • U kunt in de verwachte tijd geen groot aantal gelijktijdige pull- of pushbewerkingen voltooien
  • U ziet een HTTP 429-fout die vergelijkbaar is met Too many requests
  • Pull- of pushbewerkingen in een geo-gerepliceerd register duren langer dan verwacht, of push mislukt met een fout Error writing blob of Error writing manifest

Oorzaken

  • De snelheid van uw netwerkverbinding kan registerbewerkingen vertragen - oplossing
  • Compressie of extractie van afbeeldingslagen kan traag zijn op de client - oplossing
  • U bereikt een geconfigureerde limiet in uw registerservicelaag of -omgeving - oplossing
  • Uw geo-gerepliceerde register bevat replica's in regio's in de buurt - oplossing
  • U haalt een geografisch verre registerreplica op - oplossing

Als u het probleem hier niet oplost, raadpleegt u Geavanceerde probleemoplossing en Volgende stappen voor andere opties.

Mogelijke oplossingen

Verwachte netwerksnelheid controleren

Controleer de upload- en downloadsnelheid van internet of gebruik een hulpprogramma zoals AzureSpeed om uploaden en downloaden van Azure Blob Storage te testen, die als host fungeert voor registerinstallatiekopieënlagen.

Controleer de grootte van uw installatiekopieën op basis van de maximale ondersteunde grootte en de ondersteunde download- of uploadbandbreedte voor uw registerservicelaag. Als uw register zich in de Basic- of Standard-laag bevindt, kunt u upgraden om de prestaties te verbeteren.

Voor de implementatie van installatiekopieën naar andere services controleert u de regio's waar het register en het doel zich bevinden. Overweeg het register en het implementatiedoel in dezelfde of dichte regio's te vinden om de prestaties te verbeteren.

Gerelateerde links:

Clienthardware controleren

Het schijftype en de CPU op de Docker-client kunnen van invloed zijn op de snelheid van het extraheren of comprimeren van installatiekopielagen op de client als onderdeel van pull- of pushbewerkingen. Laagextractie op een harde schijf duurt bijvoorbeeld langer dan op een solid-state schijf. Vergelijk pull-bewerkingen voor vergelijkbare installatiekopieën uit uw Azure-containerregister en een openbaar register, zoals Docker Hub.

Geconfigureerde limieten controleren

Als u gelijktijdig meerdere of veel installatiekopieën met meerdere lagen naar uw register pusht of ophaalt, controleert u de ondersteunde ReadOps- en WriteOps-limieten voor de registerservicelaag. Als uw register zich in de Basic- of Standard-laag bevindt, kunt u upgraden om de limieten te verhogen. Neem ook contact op met uw netwerkprovider over netwerkbeperking die kan optreden bij veel gelijktijdige bewerkingen.

Controleer uw Docker-daemonconfiguratie voor het maximum aantal gelijktijdige uploads of downloads voor elke push- of pull-bewerking op de client. Configureer indien nodig hogere limieten.

Omdat voor elke afbeeldingslaag een afzonderlijke lees- of schrijfbewerking van het register is vereist, controleert u het aantal lagen in uw installatiekopieën. Overweeg strategieën om het aantal afbeeldingslagen te verminderen.

Gerelateerde links:

Geo-gerepliceerd register configureren

Een Docker-client die een installatiekopieën naar een geo-gerepliceerd register pusht, pusht mogelijk niet alle lagen van installatiekopieën en het bijbehorende manifest naar één gerepliceerde regio. Deze situatie kan optreden omdat Azure Traffic Manager registeraanvragen doorstuurt naar het netwerk dichtstbijzijnde gerepliceerde register. Als het register twee replicatieregio's in de buurt heeft, kunnen afbeeldingslagen en het manifest worden gedistribueerd naar de twee sites en mislukt de pushbewerking wanneer het manifest wordt gevalideerd.

Configureer een geo-gerepliceerd register in dezelfde Azure-regio's als de bron van de pushbewerkingen of de dichtstbijzijnde regio wanneer u buiten Azure werkt om de DNS-resolutie te optimaliseren naar de dichtstbijzijnde replica bij het pushen van installatiekopieën.

Als u problemen met bewerkingen met een geo-gerepliceerd register wilt oplossen, kunt u traffic manager-routering ook tijdelijk uitschakelen naar een of meer replicaties.

Gerelateerde links:

DNS configureren voor geo-gerepliceerd register

Als pull-bewerkingen uit een geo-gerepliceerd register traag lijken, kan de DNS-configuratie op de client worden omgezet naar een geografisch verre DNS-server. In dit geval kan Traffic Manager aanvragen routeren naar een replica die zich in de buurt van de DNS-server bevindt, maar ver van de client is. Voer een hulpprogramma zoals nslookup of dig (op Linux) uit om de replica te bepalen waarnaar Traffic Manager registeraanvragen stuurt. Voorbeeld:

nslookup myregistry.azurecr.io

Een mogelijke oplossing is het configureren van een dichtere DNS-server.

Gerelateerde links:

Geavanceerde probleemoplossing

Als uw machtigingen voor registerbronnen zijn toegestaan, controleert u de status van de registeromgeving. Als er fouten worden gerapporteerd, raadpleegt u de foutreferentie voor mogelijke oplossingen.

Als het verzamelen van resourcelogboeken is ingeschakeld in het register, raadpleegt u het logboek ContainterRegistryRepositoryEvents. In dit logboek worden gegevens opgeslagen voor bewerkingen zoals push- of pull-gebeurtenissen. Voer een query uit in het logboek voor bewerkingsfouten op opslagplaatsniveau.

Gerelateerde links:

Volgende stappen

Als u het probleem hier niet oplost, raadpleegt u de volgende opties.