Udostępnij za pośrednictwem


Kondycja repozytorium

W usłudze Azure DevOps naszym celem jest zapewnienie doskonałej jakości usług dla wszystkich naszych klientów. Utrzymanie optymalnej kondycji repozytorium ma kluczowe znaczenie dla zapewnienia wydajności i niezawodności.

Aby promować ten cel, aktywnie monitorujemy różne czynniki, które przyczyniają się do kondycji repozytorium. Te czynniki obejmują rozmiar, częstotliwość zatwierdzania, zawartość, strukturę i inne. Jeśli twoje repozytorium nadmiernie wpływa na naszą infrastrukturę, możesz otrzymać wiadomość e-mail od naszego zespołu pomocy technicznej z prośbą o podjęcie działań naprawczych. Efektywnie zarządzając rozmiarem i ogólną kondycją repozytorium, możesz zapobiec negatywnemu wpływowi na naszą infrastrukturę i wydajność.

Aby zachować optymalną kondycję repozytorium, możesz użyć panelu "Kondycja i użycie repozytorium".

W przeglądarce internetowej przejdź do repozytorium Git usługi Azure Repos. Wybierz pozycję Pliki repozytorium > , a następnie wybierz pozycję "Kondycja i użycie" z menu wielokropka, aby otworzyć panel "Kondycja i użycie repozytorium".

Zrzut ekranu przedstawiający element menu Kondycja i użycie w menu Więcej akcji na stronie Pliki repozytorium w usłudze Azure Repos.

Panel "Kondycja i użycie repozytorium" zawiera czynniki, które przyczyniają się do kondycji repozytorium

Zrzut ekranu przedstawiający kondycję i użycie repozytorium.

Czynniki, które są uważane za złe kondycję, zostaną wyróżnione na czerwono, podczas gdy czynniki bliskie złej kondycji zostaną wyróżnione w bursztynie.

Na tej stronie znajdują się opisy i porady dotyczące niektórych typowych metryk.

Ogólny dostępny rozmiar repozytorium

Ten parametr pokazuje, ile miejsca zużywa repozytorium na dysku.

Zalecamy zachowanie rozmiaru repozytorium poniżej 100 GB w celu uzyskania optymalnej wydajności. Mniejsze repozytoria są szybsze do klonowania i łatwiejszego zarządzania i konserwacji. Jeśli repozytorium przekracza ten rozmiar, rozważ użycie usługi Git-LFS, skalarnej lub usługi Azure Artifacts do refaktoryzacji artefaktów programistycznych.

Liczba obiektów osiągalnych

Ten parametr wskazuje liczbę obiektów w repozytorium, które są dostępne z dowolnego odwołania lub tagu. Obiekty obejmują nie tylko pliki (obiekty blob), ale także katalogi, zatwierdzenia i tagi. Więcej szczegółów : Git-Internals-Git-Objects.

Im większa liczba obiektów, tym dłużej usługa Git przechodzi przez historię repozytorium wpływającą na czas wyświetlania historii zatwierdzeń i innych obiektów. Ponadto implementacja ADO ma sztywny limit obiektów. Usługa Azure Repos nie może zawierać więcej niż 100 milionów obiektów w jednym repozytorium.

Liczba ref

"Liczba odwołań" wyświetla łączną liczbę odwołań w repozytorium.

Jeśli repozytorium Git zawiera więcej niż 10 000 refs, rozważ włączenie ograniczonych refs. Wraz ze wzrostem liczby refów dane, które należy negocjować między klientem a serwerem. Więcej danych, które muszą być wynegocjowane, tym większe obciążenie serwera i więcej danych, które potencjalnie są przesyłane do klienta, co powoduje obniżoną wydajność użytkownika.

Liczba osiągalnych obiektów blob

"Liczba osiągalnych obiektów blob" wyświetla łączną liczbę dostępnych plików obiektów blob w repozytorium.

Zalecamy utrzymywanie rozsądnej liczby plików obiektów blob, jak wspomniano w pliku Number of reachable objects. Ważne jest również, aby zarezerwować trochę miejsca dla obiektów innych typów.

Liczba dostępnych drzew

"Liczba osiągalnych drzew" pokazuje łączną liczbę dostępnych obiektów drzewa w repozytorium.

Duża liczba plików drzewa może spowodować, że przechodzenie przez historię jest kosztowne i może spowolnić kilka funkcji git, takich jak git blame.

Obiekty drzewa rosną wraz ze wzrostem liczby katalogów i plików. Usługa Git musi utworzyć kopię każdego drzewa, który prowadzi do pliku za każdym razem, gdy plik zostanie zmieniony. W związku z tym zmiana tylko jednego pliku wiele razy może spowodować dużą liczbę plików drzewa.

Uwaga

Rozpowszechnianie plików między wieloma katalogami i podkatalogami jest preferowane posiadanie jednego katalogu z wieloma bezpośrednimi wpisami.

Zalecamy utrzymanie rozsądnej liczby obiektów drzewa, zgodnie z sugestią w sekcji w temacie Number of reachable objects. Ważne jest również przydzielenie miejsca dla obiektów innych typów.

Liczba możliwych do osiągnięcia zatwierdzeń

Parametr "Liczba osiągalnych zatwierdzeń" reprezentuje całkowitą liczbę osiągalnych obiektów zatwierdzeń w repozytorium.

Zalecamy zachowanie rozsądnej liczby obiektów zatwierdzeń, zgodnie z zaleceniami w Number of reachable objects sekcji . Ważne jest również, aby zarezerwować trochę miejsca dla obiektów innych typów.

Liczba dostępnych tagów

"Liczba dostępnych tagów" wyświetla łączną liczbę dostępnych obiektów tagów w repozytorium.

Tagi muszą być przenoszone do klienta dla każdego pobierania, nawet jeśli klon jest aktualny. Dlatego zaleca się ograniczenie ich do kilkudziesiąt tysięcy co najwyżej.

Zalecamy zachowanie rozsądnej liczby obiektów tagów zgodnie z Number of reachable objects zaleceniami w sekcji. Ważne jest również, aby zarezerwować trochę miejsca dla obiektów innych typów.

Liczba plików, które nie są różnicowe

Wyświetl liczbę plików binarnych lub zasobów multimedialnych, dla których nie można obliczyć różnicy.

Przechowywanie takich plików w usłudze Git nie jest zalecane. Różne wersje takich plików nie są dobrze różnicowe względem siebie, co oznacza, że usługa Git nie może przechowywać ich wydajnie. Rozważ użycie usługi Git-LFS, skalarnej lub usługi Azure Artifacts, która pozwala przechowywać takie pliki i utrzymywać repozytorium w dobrej kondycji i konserwację. Aby uzyskać więcej informacji, zobacz Zarządzanie dużymi plikami i przechowywanie ich w usłudze Git.

Uwaga

Jeśli używasz interfejsu API wypychania REST, pliki nie są różnicowane i jest to bardzo nieefektywne w przypadku wypychania obiektów, które są zwykle różnicowe.

Rozmiar osiągalnych obiektów blob

Parametr "Rozmiar osiągalnych obiektów blob" wyświetla całkowity rozmiar obiektów blob na dysku w gigabajtach.

Zgodnie z sekcją "Ogólny dostępny rozmiar repozytorium" zaleca się, aby zachować mniej niż 100 GB i pozostawić trochę miejsca dla obiektów innych typów.

Rozmiar drzew osiągalnych

Parametr "Rozmiar drzew osiągalnych" pokazuje całkowity rozmiar obiektów drzewa na dysku w gigabajtach.

Zgodnie z sekcją "Ogólny dostępny rozmiar repozytorium" zaleca się, aby zachować mniej niż 100 GB i pozostawić trochę miejsca dla obiektów innych typów.

Rozmiar możliwych do osiągnięcia zatwierdzeń

Parametr "Rozmiar zatwierdzeń możliwych do osiągnięcia" pokazuje całkowity rozmiar obiektów zatwierdzeń na dysku w megabajtach.

Zgodnie z sekcją "Ogólny dostępny rozmiar repozytorium" zaleca się, aby zachować mniej niż 100 GB i pozostawić trochę miejsca dla obiektów innych typów.

Rozmiar dostępnych tagów

Parametr "Rozmiar dostępnych tagów" pokazuje całkowity rozmiar obiektów tagów na dysku w megabajtach.

Zgodnie z sekcją "Ogólny dostępny rozmiar repozytorium" zaleca się, aby zachować mniej niż 100 GB i pozostawić trochę miejsca dla obiektów innych typów.