Cách nhanh nhất để di chuyển một số lượng lớn các tập tin?


8

Tôi đã phải di chuyển khoảng 320.000 tệp, 80.000 thư mục (chỉ 100 Gb) dữ liệu. Một số tệp> 1GB nhưng hầu hết là <1kB.

Tôi đã xem phương pháp sao chép tệp nhanh nhất nhưng tôi không chắc chúng sẽ hữu ích đến mức nào, vấn đề của tôi không nằm ở tốc độ truyền tốc độ thuần túy mà thực sự là Windows có thể xử lý nhanh chóng với IO của 320.000 tệp.

Bạn có nghĩ rằng tôi sẽ thấy lợi ích tốc độ bằng cách sử dụng xcopy, robocopy, teracopy hoặc fastcopy?

Chúng tôi mất nhiều thời gian (12 giờ +) để sao chép chúng một lần (sử dụng bản sao) và tôi ghét phải làm điều đó một lần nữa. Tôi có thể làm gì để tăng tốc nó?

Nội dung nằm trên Ổ đĩa ngoài USB 2.0.

Câu trả lời:


9

Một cái gì đó như robocopy sẽ là đặt cược tốt nhất của bạn. Các ổ USB không thể xử lý toàn bộ IO để bắt đầu.

Tôi đã đẩy hàng triệu tệp nhỏ đến và từ các ổ USB bằng cách sử dụng robocopy. Nó mất thời gian, nhưng nó hoàn thành công việc.


3

Như mrdenny đã nói, Robocopy sẽ là tốt nhất, một phần vì sự mạnh mẽ của nó. Lời khuyên tốt nhất tôi có thể cung cấp, miễn là bạn chắc chắn về độ sạch của các tệp sẽ được di chuyển, là đảm bảo phần mềm chống vi-rút bị vô hiệu hóa trong khi chúng được di chuyển. Bạn thực sự không muốn chi phí để quét tất cả các tệp đó.


1

Rõ ràng có một cách nhanh hơn tất cả được đề cập ở đây. Nhanh hơn, nhưng kém linh hoạt hơn :-) Nếu bạn đã đặt các tệp trên một phân vùng riêng, bạn có thể sao chép toàn bộ phân vùng vào đĩa đích.

Tôi không quen thuộc với bất kỳ công cụ Windows miễn phí nào cho công việc (công cụ hỗ trợ VSS sẽ hoàn hảo), nhưng chắc chắn bạn có thể khởi động Ghost CD, hoặc Magic Magic CD hoặc khởi động CD độc lập Linux. Trong linux, bạn chỉ cần ddphân vùng hoặc ntfsclonenếu điều này xảy ra là phân vùng NTFS.


0

Nếu tôi là bạn, tôi sẽ thay đổi Harddrive bên ngoài thành Firewire, tốc độ truyền nhanh hơn rất nhiều so với USB2.

Tôi nghĩ rằng có thể đóng gói các tệp vào một "tar" duy nhất, và sau đó chuyển các tệp sẽ tiết kiệm được một chút thời gian. Vì nó làm giảm số lần I / O, vì bạn chỉ sao chép 1 tệp khổng lồ so với hàng ngàn tệp, nó cũng tiêu tốn ít tài nguyên hơn tôi tin (trong giai đoạn sao chép). Hoặc bạn có thể dẫn luồng tar thẳng vào ổ USB của mình.


Có, tôi biết cách tiếp cận tar duy nhất chắc chắn sẽ mang lại kết quả, nhưng không chắc chắn nếu việc xây dựng tệp duy nhất sẽ mất một lượng thời gian đáng kể.
in.spite

Firewire là tốt nhưng eSATA cũng có thể nhanh hơn.
Chopper3

0

Tôi tìm thấy cách hiệu quả nhất để sao chép số lượng lớn tệp là trước tiên truyền chúng vào tệp ISO và sau đó sao chép ISO. Bằng cách này, đĩa không liên quan bằng cách phát hành hàng ngàn lệnh cần thiết để sao chép tệp.

Tất nhiên điều này phụ thuộc vào cấu trúc thư mục của bạn. Tôi đã may mắn có một thư mục mới được tạo ở các khoảng 4,7 GB vì vậy nó đã tạo ra một VBScript để tự động hóa quá trình dễ dàng hơn rất nhiều.


Tôi không theo logic của bạn. Để tạo ISO, tất cả các tệp đó cần phải được đọc và ghi vào ISO. Sau đó, ISO được đọc để giải nén các tệp và cuối cùng ghi chúng đến đích. Làm thế nào là hiệu quả hơn so với đọc và viết chúng một lần?
John Gardeniers

bất kỳ mã mẫu nào trong VBSCript, C # hoặc ngôn ngữ tập lệnh khác?
Kiquenet

@JohnGardeniers Lewis đang đặt cược rằng thời gian cần thiết để sao chép các tệp nhỏ trên mạng có chi phí lớn hơn nhiều so với thời gian đưa chúng vào ISO và sau đó chuyển tệp đó. Nó thực sự phụ thuộc vào môi trường cụ thể của bạn, nhưng không trực quan như âm thanh của nó, có thể nhanh hơn để chuyển một hợp nhất thay vì hàng ngàn tệp nhỏ.
CN

0

Bạn gần như chắc chắn sẽ trải nghiệm hiệu suất tổng thể tốt hơn cho chuỗi chuyển nếu trước tiên bạn đóng gói các tệp nguồn vào một kho lưu trữ duy nhất (tar hoặc nén vào zip, v.v.), sau đó chuyển tệp lưu trữ qua mạng, sau đó giải nén tệp lưu trữ tại Nơi Đến.

Xin đừng quên rằng khi bạn chuyển kho lưu trữ qua mạng, bạn sẽ sử dụng ftp (hoặc một giao thức truyền hướng tệp khác) tốt hơn là sao chép tệp SMB đơn giản.

Sử dụng một quy trình như trên, tôi thường xuyên chuyển các thư mục ứng dụng khoảng 60 GB (với khoảng 50.000-75.000 tệp) giữa nhiều trung tâm dữ liệu, được phân tách theo địa lý (Hoa Kỳ, Châu Âu, Châu Á). Sự khác biệt giữa chuyển một tệp cùng một lúc và chuyển tệp lưu trữ nén qua FTP nhanh hơn 10-40 lần.

Rupync cũng có thể là bạn của bạn ở đây (vì nó có thể trong nhiều tình huống chuyển tập tin khác).

Nếu bạn cởi mở với các tùy chọn thương mại, giải pháp phát trực tuyến nhị phân dựa trên UDP có thể đẩy các bit qua nhiều luồng UDP có thể có giá trị đối với bạn. Hãy xem http://www.filecirthyst.com/


0

Một tùy chọn khác là sử dụng Bittorrent bằng trình theo dõi tích hợp hoặc DHT được bật. Máy khách sẽ nhóm tất cả các tệp lại với nhau theo khối (sử dụng 2MB hoặc lớn hơn nếu có). Ở đầu nhận, bạn sẽ nhận được các tệp trong khối lớn khi chúng được ghi vào ổ cứng. Điều này giúp hợp nhất các tệp nhỏ của bạn thành các khối 2MB và bạn có được tốc độ truyền tốt hơn và

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.