Subversi - Memeriksa ribuan file kecil sangat lambat, di mana kemacetannya?

3

Saya menggunakan LAN gigabit dengan server 2-Core 3 Ghz yang didedikasikan untuk melayani Repositori kami.

Apa yang saya periksa proyek dengan sekitar 30.000 file sebagian besar kecil, hanya mengalir sekitar 1 MB / detik. Ada sekitar 140 MB sehingga agak butuh selamanya.

Tentunya bottleneck bukan hard-drive ... itu pada SSD setelah semua. Apakah ini masalah pemrosesan?

Windows Server 2008

Brian Webster
sumber
1
Mungkin jaringannya. Saya kira Anda bukan satu-satunya yang menggunakannya. Dan 140 MB dengan 1 MB / s tampaknya tidak terlalu berarti bagi saya. Itu sedikit lebih dari 2 menit, dan Anda hanya perlu melakukannya sekali, dan kemudian perbarui hanya bagian-bagian kecil.
Petersohn

Jawaban:

3

Subversion memiliki rekam jejak yang sangat buruk dengan kinerja, terutama pada Windows. Masalahnya adalah dengan asumsi bahwa semua operasi sistem file cepat. Dan mereka terus menyentuh beberapa ribu file sebelum pembaruan, menyentuh mereka lagi setelah pembaruan. Dan secara umum setiap file yang diunduh akan menghasilkan setidaknya penulisan dan penggantian nama.

Masalahnya adalah bahwa NTFS tidak begitu cepat dalam menyentuh beberapa ribu file (bahkan pada SSD; saya dapat melihat bahwa di sini ;-)) sekaligus sehingga agak rusak. Mungkin tidak banyak yang bisa Anda lakukan, tetapi untuk perbandingan, Anda mungkin melihat seberapa cepat itu di Linux atau Unix-like lainnya.

Joey
sumber
1

ada 2 masalah:

a) ntfs: jika Anda telah mengaktifkan dukungan untuk nama file 8.3, maka windows harus datang dengan nama-nama unik 8.3. itu "melampirkan" nama-nama ini sebagai nama tambahan dan jika nama file dalam direktori sangat mirip, daripada algoritma untuk menghasilkan nama-nama 8.3 yang unik memiliki banyak pekerjaan yang harus dilakukan. cara algoritme bekerja dijelaskan dengan sangat baik di "windows internals 5th edition, halaman 946-947". Anda dapat menonaktifkan fitur itu, checkout http://support.microsoft.com/?scid=kb;en-us;121007&x= 15 & y = 12 .

dan perlu diingat, Anda tidak hanya memeriksa 30k file ke dalam direktori kerja tetapi svn membuat subfolder .svn dengan salinan lokal dari masing-masing file 30k ini ...

b) explorer: explorer memiliki pekerjaan yang cukup untuk menampilkan folder dengan banyak item di dalamnya. memakan waktu untuk menampilkan semua statistik dalam daftar, membuat ikon dan apa yang tidak.

saya akan menduga terutama masalah a)

akira
sumber
Adapun (a), tergantung pada berapa banyak file yang ada di setiap folder ini mungkin tidak menimbulkan masalah. Sebagai contoh, sebagian besar proyek Java cenderung memiliki sejumlah besar file dan sejumlah besar direktori, yang membuat dampak dari 8,3 pembuatan nama file diabaikan. Untuk hanya 30k file saya ragu itu menimbulkan banyak masalah bahkan dalam satu direktori. Adapun (b), Explorer sangat cepat dengan itu, bahkan lebih cepat dari beberapa OFM yang saya gunakan.
Joey
a) masalah dengan 8.3 nama hanya ada di direktori yang sama, jelas. dan b) saya punya masalah dengan explorer ketika hanya 10k file, dan saya membuat 90k file karena program konversi file. dan kemudian penjelajah memiliki banyak hal yang harus dilakukan.
akira