Rozwiązywanie problemów z wydajnością rejestru
Ten artykuł ułatwia rozwiązywanie problemów, które mogą wystąpić z wydajnością rejestru kontenerów platformy Azure.
Objawy
Może zawierać co najmniej jedną z następujących czynności:
- Ściąganie lub wypychanie obrazów przy użyciu interfejsu wiersza polecenia platformy Docker trwa dłużej niż oczekiwano
- Wdrażanie obrazów w usłudze, takiej jak Azure Kubernetes Service, trwa dłużej niż oczekiwano
- Nie można ukończyć dużej liczby współbieżnych operacji ściągania lub wypychania w oczekiwanym czasie
- Zobaczysz błąd HTTP 429 podobny do
Too many requests
- Operacje ściągania lub wypychania w rejestrze replikowanym geograficznie trwa dłużej niż oczekiwano lub wypychanie kończy się niepowodzeniem z powodu błędu
Error writing blob
lubError writing manifest
Przyczyny
- Szybkość połączenia sieciowego może spowalniać operacje rejestru — rozwiązanie
- Kompresja lub wyodrębnianie warstwy obrazu może być powolne na kliencie — rozwiązanie
- Osiągasz skonfigurowany limit w warstwie usługi rejestru lub środowisku — rozwiązanie
- Rejestr replikowany geograficznie zawiera repliki w pobliskich regionach — rozwiązanie
- Ściągasz z geograficznie odległej repliki rejestru — rozwiązanie
Jeśli nie rozwiążesz problemu tutaj, zobacz Zaawansowane kroki rozwiązywania problemów i Następne kroki , aby uzyskać inne opcje.
Potencjalne rozwiązania
Sprawdzanie oczekiwanej szybkości sieci
Sprawdź szybkość przekazywania i pobierania z Internetu lub użyj narzędzia, takiego jak AzureSpeed, aby przetestować przekazywanie i pobieranie z usługi Azure Blob Storage, która hostuje warstwy obrazu rejestru.
Sprawdź rozmiar obrazu pod kątem maksymalnego obsługiwanego rozmiaru i obsługiwanej przepustowości pobierania lub przekazywania dla warstwy usługi rejestru. Jeśli rejestr znajduje się w warstwie Podstawowa lub Standardowa, rozważ uaktualnienie w celu zwiększenia wydajności.
W przypadku wdrażania obrazów w innych usługach sprawdź regiony, w których znajduje się rejestr i element docelowy. Rozważ zlokalizowanie rejestru i celu wdrożenia w tych samych regionach lub w pobliżu sieci, aby zwiększyć wydajność.
Powiązane linki:
- Warstwy usługi Azure Container Registry
- Rejestr kontenerów — często zadawane pytania
- Cele dotyczące wydajności i skalowalności dla usługi Azure Blob Storage
Sprawdzanie sprzętu klienta
Typ dysku i procesor CPU na kliencie platformy Docker mogą mieć wpływ na szybkość wyodrębniania lub kompresowania warstw obrazu na kliencie w ramach operacji ściągania lub wypychania. Na przykład wyodrębnianie warstw na dysku twardym trwa dłużej niż na dysku półprzewodnikowym. Porównaj operacje ściągania dla porównywalnych obrazów z rejestru kontenerów platformy Azure i rejestru publicznego, takiego jak Docker Hub.
Przejrzyj skonfigurowane limity
Jeśli jednocześnie wypychasz lub ściągasz wiele lub wiele wielowarstwowych obrazów do rejestru, zapoznaj się z obsługiwanymi limitami operacji ReadOps i WriteOps dla warstwy usługi rejestru. Jeśli rejestr znajduje się w warstwie Podstawowa lub Standardowa, rozważ uaktualnienie w celu zwiększenia limitów. Sprawdź również u dostawcy sieci informacje o ograniczaniu przepustowości sieci, które mogą wystąpić w przypadku wielu współbieżnych operacji.
Przejrzyj konfigurację demona platformy Docker pod kątem maksymalnego współbieżnego przekazywania lub pobierania dla każdej operacji wypychania lub ściągania na kliencie. W razie potrzeby skonfiguruj wyższe limity.
Ponieważ każda warstwa obrazu wymaga oddzielnej operacji odczytu lub zapisu rejestru, sprawdź liczbę warstw na obrazach. Rozważ strategie zmniejszenia liczby warstw obrazów.
Powiązane linki:
Konfigurowanie rejestru replikowanego geograficznie
Klient platformy Docker, który wypycha obraz do rejestru replikowanego geograficznie, może nie wypchnąć wszystkich warstw obrazu i manifestu do jednego zreplikowanego regionu. Taka sytuacja może wystąpić, ponieważ usługa Azure Traffic Manager kieruje żądania rejestru do najbliższego zreplikowanego rejestru w sieci. Jeśli rejestr ma dwa regiony replikacji w pobliżu, warstwy obrazu i manifest mogą być dystrybuowane do dwóch lokacji, a operacja wypychania kończy się niepowodzeniem po zweryfikowaniu manifestu.
Aby zoptymalizować rozpoznawanie nazw DNS do najbliższej repliki podczas wypychania obrazów, skonfiguruj rejestr replikowany geograficznie w tych samych regionach świadczenia usługi Azure co źródło operacji wypychania lub najbliższy region podczas pracy poza platformą Azure.
Aby rozwiązać problemy z operacjami w rejestrze replikowanym geograficznie, możesz również tymczasowo wyłączyć routing usługi Traffic Manager do co najmniej jednej replikacji.
Powiązane linki:
Konfigurowanie systemu DNS dla rejestru replikowanego geograficznie
Jeśli operacje ściągania z rejestru replikowanego geograficznie są powolne, konfiguracja DNS na kliencie może być rozpoznawana jako geograficznie odległy serwer DNS. W takim przypadku usługa Traffic Manager może wysyłać żądania do repliki, która znajduje się w pobliżu serwera DNS, ale z dala od klienta. Uruchom narzędzie, takie jak nslookup
lub dig
(w systemie Linux), aby określić replikę, do którego usługa Traffic Manager kieruje żądania rejestru. Na przykład:
nslookup myregistry.azurecr.io
Potencjalnym rozwiązaniem jest skonfigurowanie bliżej serwera DNS.
Powiązane linki:
- Replikacja geograficzna w usłudze Azure Container Registry
- Rozwiązywanie problemów z operacjami wypychania przy użyciu rejestrów replikowanych geograficznie
- Tymczasowo wyłącz routing do replikacji
- Traffic Manager — często zadawane pytania
Zaawansowane rozwiązywanie problemów
Jeśli uprawnienia do zasobów rejestru są dozwolone, sprawdź kondycję środowiska rejestru. Jeśli zgłaszane są błędy, zapoznaj się z dokumentacją błędów dotyczącą potencjalnych rozwiązań.
Jeśli zbieranie dzienników zasobów jest włączone w rejestrze, zapoznaj się z dziennikiem ContainterRegistryRepositoryEvents. Ten dziennik przechowuje informacje dotyczące operacji, takich jak zdarzenia wypychania lub ściągania. Wykonaj zapytanie w dzienniku pod kątem błędów operacji na poziomie repozytorium.
Powiązane linki:
- Dzienniki oceny diagnostycznej i inspekcji
- Rejestr kontenerów — często zadawane pytania
- Najlepsze rozwiązania dotyczące usługi Azure Container Registry
Następne kroki
Jeśli nie rozwiążesz problemu w tym miejscu, zapoznaj się z następującymi opcjami.
- Inne tematy rozwiązywania problemów z rejestrem obejmują:
- Opcje pomocy technicznej społeczności
- Pytania i odpowiedzi Microsoft
- Otwieranie biletu pomocy technicznej