Câu hỏi Subversion - Kiểm tra hàng ngàn tập tin nhỏ là chậm thêm, đâu là nút cổ chai?


Tôi đang trên một mạng LAN gigabit với một máy chủ 2-Core 3 Ghz dành riêng để phục vụ cho Kho lưu trữ của chúng tôi.

Những gì tôi kiểm tra một dự án với khoảng 30.000 tập tin chủ yếu là nhỏ, nó chỉ chảy ra ở khoảng 1 MB / giây. Có khoảng 140 MB vì ​​vậy nó kinda mất mãi mãi.

Chắc chắn nút cổ chai không phải là ổ cứng ... nó trên một SSD sau khi tất cả. Đây có phải là vấn đề về xử lý không?

Windows Server 2008


3
2018-05-18 18:26


gốc


Đó có lẽ là mạng. Tôi cho rằng bạn không phải là người duy nhất sử dụng nó. Và 140 MB với 1 MB / s dường như không nhiều đối với tôi. Đó là ít hơn 2 phút, và bạn chỉ phải làm điều đó một lần, và sau đó chỉ cập nhật các phần nhỏ. - petersohn


Các câu trả lời:


Subversion có một có thật không hồ sơ theo dõi xấu với hiệu suất, đặc biệt là trên Windows. Vấn đề là với các giả định rằng tất cả các hoạt động của hệ thống tập tin đều nhanh. Và do đó, họ tiếp tục chạm vào vài nghìn tệp trước khi cập nhật, chạm vào chúng một lần nữa sau khi cập nhật. Và generelly mỗi tập tin tải về sẽ dẫn đến ít nhất một viết và đổi tên.

Vấn đề là NTFS không phải là nhanh chóng trong chạm vào một vài nghìn tập tin (thậm chí không trên một SSD, tôi có thể thấy rằng ở đây ;-)) cùng một lúc để nó kinda phá vỡ. Có lẽ không có nhiều bạn có thể làm, nhưng đối với so sánh bạn có thể xem nó nhanh như thế nào trên Linux hoặc Unix khác.


3
2018-05-18 19:28





có 2 vấn đề:

a) ntfs: nếu bạn đã bật hỗ trợ cho 8,3 tên tệp thì cửa sổ phải xuất hiện với tên 8.3 duy nhất. nó "gắn" các tên này dưới dạng tên phụ và nếu tên tệp trong thư mục rất giống nhau, thì thuật toán để tìm ra các tên 8.3 duy nhất có rất nhiều việc phải làm. cách hoạt động của thuật toán được giải thích rất rõ trong "windows internals 5th edition, page 946-947" .bạn có thể tắt tính năng đó, thanh toán http://support.microsoft.com/?scid=kb;en-us;121007&x=15&y=12.

và lưu ý, bạn không chỉ kiểm tra các tệp 30k vào thư mục làm việc mà svn tạo một thư mục con .svn với một bản sao cục bộ của từng tệp 30k này ...

b) explorer: nhà thám hiểm có khá nhiều công việc để hiển thị các thư mục có nhiều mục trong đó. nó là tốn thời gian để hiển thị tất cả các số liệu thống kê trong một danh sách, tạo ra các biểu tượng và những gì không.

tôi sẽ nghi ngờ chủ yếu là vấn đề a)


1
2018-05-19 05:18



Đối với (a), tùy thuộc vào số lượng tệp có trong mỗi thư mục, điều này có thể không gây ra sự cố. Ví dụ, hầu hết các dự án Java có xu hướng có cả số lượng lớn các tệp và số lượng lớn các thư mục, điều này làm cho tác động của việc tạo tên tệp không đáng kể. Đối với ít nhất là 30k tập tin tôi nghi ngờ nó đặt ra nhiều vấn đề ngay cả trong một thư mục duy nhất. Đối với (b), Explorer là nhanh chóng đáng kể với điều đó, thậm chí nhanh hơn một vài OFMs tôi đang sử dụng. - Joey
a) vấn đề với 8,3 tên chỉ tồn tại trong cùng một thư mục, rõ ràng. và b) tôi đã có vấn đề với explorer khi nó chỉ đến 10k tập tin, và tôi tạo ra 90k tập tin do một chương trình chuyển đổi tập tin. và sau đó nhà thám hiểm có rất nhiều việc phải làm. - akira