Bagikan melalui


Kesehatan repositori

Di Azure DevOps, tujuan kami adalah untuk memberikan kualitas layanan yang sangat baik untuk semua pelanggan kami. Menjaga kesehatan repositori yang optimal sangat penting dalam memastikan performa dan keandalan.

Untuk mempromosikan tujuan ini, kami secara aktif memantau berbagai faktor yang berkontribusi pada kesehatan repositori. Faktor-faktor ini termasuk ukuran, frekuensi penerapan, konten, struktur, dan banyak lagi. Jika repositori Anda berdampak berlebihan pada infrastruktur kami, Anda mungkin menerima email dari tim dukungan kami yang meminta Anda untuk mengambil tindakan korektif. Dengan mengelola ukuran dan kesehatan repositori Anda secara efektif, Anda dapat mencegahnya berdampak negatif pada infrastruktur dan performa kami.

Untuk menjaga kesehatan repositori yang optimal, Anda dapat menggunakan panel "Kesehatan dan penggunaan repositori".

Dari browser web Anda, navigasikan ke repositori Azure Repos Git. Pilih Repositori > File lalu pilih "Kesehatan dan penggunaan" dari menu elipsis untuk membuka panel "Kesehatan dan penggunaan repositori".

Cuplikan layar item menu Kesehatan dan penggunaan di menu Tindakan lainnya di halaman File Repositori di Azure Repos.

Panel "Kesehatan dan penggunaan repositori" menunjukkan kepada Anda faktor-faktor yang berkontribusi pada kesehatan repositori

Cuplikan layar kesehatan dan penggunaan Repositori.

Faktor-faktor yang dianggap tidak sehat akan disorot dengan warna merah, sementara faktor-faktor yang hampir tidak sehat akan disorot dalam kuning.

Di halaman ini ada deskripsi dan saran untuk beberapa metrik umum.

Ukuran repositori yang dapat dijangkau secara keseluruhan

Parameter ini menunjukkan berapa banyak ruang yang digunakan repositori pada disk.

Sebaiknya jaga ukuran repositori Anda di bawah 100 GB untuk performa optimal. Repositori yang lebih kecil lebih cepat untuk mengkloning dan lebih mudah dikelola dan dirawat. Jika repositori Anda melebihi ukuran ini, pertimbangkan untuk menggunakan Git-LFS, Skalar, atau Artefak Azure untuk merefaktor artefak pengembangan Anda.

Jumlah objek yang dapat dijangkau

Parameter ini menunjukkan jumlah objek di repositori, yang dapat diakses dari referensi atau tag apa pun. Objek tidak hanya mencakup file (blob), tetapi juga direktori, penerapan, dan tag. Detail selengkapnya Git-Internals-Git-Objects.

Semakin besar jumlah objek, semakin lama Git mengambil untuk melintasi riwayat repositori yang memengaruhi waktu untuk menampilkan riwayat penerapan, dan objek lainnya. Selain itu implementasi ADO memiliki batas objek batas keras. Azure Repos tidak boleh berisi lebih dari 100 juta objek dalam satu repositori.

Jumlah ref

"Jumlah refs" menampilkan jumlah total referensi di repositori.

Jika repositori Git Anda berisi lebih dari 10.000 ref, Anda harus mempertimbangkan untuk mengaktifkan Limited Refs. Ketika jumlah ref meningkat, begitu juga data yang perlu dinegosiasikan antara klien dan server. Semakin banyak data yang harus dinegosiasikan semakin berat beban di server dan semakin banyak data yang berpotensi ditransfer ke klien menyebabkan pengalaman pengguna yang terdegradasi.

Jumlah blob yang dapat dijangkau

"Jumlah blob yang dapat dijangkau" menampilkan jumlah total file blob yang dapat dijangkau di repositori.

Sebaiknya pertahankan sejumlah file blob yang wajar, seperti yang disebutkan dalam Number of reachable objects. Penting juga untuk mencadangkan beberapa ruang untuk objek jenis lain.

Jumlah pohon yang dapat dijangkau

"Jumlah pohon yang dapat dijangkau" menunjukkan jumlah total objek pohon yang dapat dijangkau di repositori.

Sejumlah besar file pohon dapat membuat melintasi riwayat mahal dan dapat memperlambat beberapa fitur git, seperti git blame.

Objek pohon bertambah seiring bertambahnya jumlah direktori dan file. Git perlu membuat salinan setiap pohon yang mengarah ke file setiap kali file diubah. Oleh karena itu, mengubah hanya satu file beberapa kali dapat mengakibatkan sejumlah besar file pohon.

Catatan

Mendistribusikan file di beberapa direktori dan subdirektori lebih baik memiliki satu direktori dengan banyak entri langsung.

Sebaiknya pertahankan jumlah objek pohon yang wajar, seperti yang disarankan di bagian pada Number of reachable objects. Penting juga untuk mengalokasikan beberapa ruang untuk objek jenis lain.

Jumlah penerapan yang dapat dijangkau

Parameter "Jumlah penerapan yang dapat dijangkau" menunjukkan jumlah total objek penerapan yang dapat dijangkau dalam repositori.

Sebaiknya simpan sejumlah objek penerapan yang wajar, seperti yang disarankan di bagian .Number of reachable objects Penting juga untuk memesan beberapa ruang untuk objek jenis lain.

Jumlah tag yang dapat dijangkau

"Jumlah tag yang dapat dijangkau" menampilkan jumlah total objek tag yang dapat dijangkau di repositori.

Tag perlu ditransfer ke klien untuk setiap pengambilan, bahkan jika kloning Anda sudah diperbarui. Oleh karena itu, disarankan untuk membatasinya hingga beberapa puluh ribu paling banyak.

Sebaiknya simpan sejumlah objek tag yang wajar, seperti yang disarankan di bagian .Number of reachable objects Penting juga untuk memesan beberapa ruang untuk objek jenis lain.

Jumlah file yang tidak dapat didiffable

Tampilkan jumlah file biner atau aset media yang tidak dapat kami hitung perbedaannya.

Menyimpan file seperti itu di Git tidak disarankan. Versi file tersebut yang berbeda tidak delta dengan baik satu sama lain, yang berarti Git tidak dapat menyimpannya secara efisien. Pertimbangkan untuk menggunakan Git-LFS, Scalar, atau Azure Artifacts, yang memungkinkan Anda menyimpan file tersebut dan menjaga repositori Anda tetap sehat dan dapat dipertahankan. Untuk informasi lebih lengkap, lihat Mengelola dan menyimpan file besar di Git.

Catatan

Jika Anda menggunakan REST Pushes API, file Anda tidak berbeda dan ini sangat tidak efisien untuk mendorong objek yang biasanya berbeda.

Ukuran blob yang dapat dijangkau

Parameter "Ukuran blob yang dapat dijangkau" menampilkan ukuran total blob pada disk dalam gigabyte.

Sesuai bagian "Ukuran repositori yang dapat dijangkau secara keseluruhan", disarankan untuk menyimpannya kurang dari 100 GB dan meninggalkan beberapa ruang untuk objek dari jenis lain.

Ukuran pohon yang dapat dijangkau

Parameter "Ukuran pohon yang dapat dijangkau" menunjukkan ukuran total objek pohon pada disk dalam gigabyte.

Sesuai bagian "Ukuran repositori yang dapat dijangkau secara keseluruhan", disarankan untuk menyimpannya kurang dari 100 GB dan meninggalkan beberapa ruang untuk objek dari jenis lain.

Ukuran penerapan yang dapat dijangkau

Parameter "Ukuran penerapan yang dapat dijangkau" menunjukkan ukuran total objek penerapan pada disk dalam megabyte.

Sesuai bagian "Ukuran repositori yang dapat dijangkau secara keseluruhan", disarankan untuk menyimpannya kurang dari 100 GB dan meninggalkan beberapa ruang untuk objek dari jenis lain.

Ukuran tag yang dapat dijangkau

Parameter "Ukuran tag yang dapat dijangkau" menunjukkan ukuran total objek tag pada disk dalam megabyte.

Sesuai bagian "Ukuran repositori yang dapat dijangkau secara keseluruhan", disarankan untuk menyimpannya kurang dari 100 GB dan meninggalkan beberapa ruang untuk objek dari jenis lain.