Có chậm hơn khi sao chép hai tệp cùng một lúc so với sao chép từng tệp một không? [bản sao]


15

Ông chủ của tôi đã nói rằng phải mất nhiều thời gian hơn để sao chép hai tệp cùng một lúc so với thực hiện một và sau đó bởi vì ổ cứng phải liên tục chuyển đổi đầu giữa hai vị trí trên đĩa. Điều này có đúng không? Dường như với tôi rằng hệ điều hành phải đủ thông minh để khắc phục điều này (nghĩa là cần biết để sao chép chúng theo trình tự). Điều này có đúng khi sao chép vào ổ đĩa được kết nối với cổng USB không?

EDIT: có bất kỳ yếu tố nào khác liên quan đến hệ thống tập tin có yếu tố không? Ví dụ, nó có tạo một sự khác biệt sao chép 1 thư mục chứa 10 tệp so với sao chép 10 tệp từ tất cả các đĩa không? Tôi chỉ tự hỏi về một phương tiện nguồn và một phương tiện đích (không đọc từ nhiều ổ đĩa).


Đôi khi, đôi khi không.
Daniel R Hicks

Tôi nghĩ rằng câu hỏi này có thể được hưởng lợi từ một điểm chuẩn thực tế, thay vì những phỏng đoán có giáo dục của hầu hết những người trả lời ở đây. Bất cứ ai cũng có một đĩa quay và một số thời gian rảnh rỗi? Tôi tin rằng đối với SSD, sự khác biệt có thể là không đáng kể; trong khi đối với đĩa cứng, tôi tin rằng câu trả lời có thể dao động từ hình phạt hiệu năng chính đến lợi ích có thể nhẹ tùy thuộc vào số lượng và kích cỡ của tệp và hiệu suất tương đối của đĩa nguồn và đĩa đích (nếu chúng khác nhau).
Lie Ryan

1
Ngoài ra, nếu bạn đang chuyển qua USB2, thì có lẽ sẽ không có bất kỳ sự khác biệt nào; tốc độ đọc ổ cứng thông thường là khoảng 50 - 100 MB / giây trong khi tốc độ tối đa của USB2 là 32 MB / giây, do đó, nút cổ chai có thể sẽ là cổng USB thay vì đặc tính ổ cứng do đệm. Nói cách khác, thật khó để nói bằng cách này hay cách khác.
Lie Ryan

@LieRyan thật tệ khi bạn không đăng bình luận dưới dạng câu trả lời vì nó phù hợp nhất với câu hỏi tôi dự định hỏi về việc sao chép từ 1 đĩa cứng sang 1 đĩa cứng ngoài bằng USB 2.
Celeritas

Câu trả lời:


12

Tôi sẽ trì hoãn bạn cho câu hỏi này . Có vẻ như việc chạy hai hoạt động sao chép trên cùng một đĩa (mặc dù được bắt đầu thông qua các hoạt động sao chép riêng biệt) thực sự sẽ mất nhiều thời gian hơn do độ trễ được tạo ra bởi người đứng đầu tìm kiếm qua lại giữa các hoạt động cạnh tranh.

Tuy nhiên, nếu các hoạt động sao chép được bắt đầu đồng thời, phần lớn các hệ điều hành hiện đại như bạn đã nói đủ thông minh để xếp hàng các lần chuyển lần lượt và sẽ mang lại thời gian sao chép nhanh hơn một chút.

Rõ ràng có một số ứng dụng có sẵn để buộc các hoạt động sao chép tệp phải xếp hàng và thực hiện tuần tự như TeracopyFastCopy

Tuy nhiên, thực hiện các hoạt động sao chép đồng thời trên nhiều khối vật lý là một vấn đề khác. Như đang chuyển tập tin thông qua các giao thức thay thế.

Về câu hỏi của bạn về việc sao chép vào ổ đĩa được kết nối với cổng USB, nó phụ thuộc rất nhiều vào loại bộ nhớ mà ổ đĩa sử dụng và thông số kỹ thuật USB được sử dụng (chắc chắn là một tắc nghẽn đáng chú ý đối với USB 1.0 và 2.0), cũng như trước đây các yếu tố được đề cập liên quan đến khối lượng nguồn sao chép.


1
Điều đó cũng không phụ thuộc vào khả năng xử lý của hệ thống?
Raghunandan

@Raghunandan Một điểm công bằng - Tôi tin rằng nó hoàn toàn phụ thuộc vào hoàn cảnh. Nhiều lõi / siêu phân luồng chắc chắn sẽ tăng tốc độ sao chép nếu đọc dữ liệu từ nhiều ổ đĩa vật lý hoặc SSD / RAMDisk, nhưng trong kịch bản của một ổ cứng, các yếu tố giới hạn tốc độ sao chép có thể vẫn nằm ở tốc độ IO của đĩa và sự hiện diện của đầu độ trễ di chuyển (Tôi chắc chắn phải có một thuật ngữ phù hợp hơn cho điều đó ...).
bosco

3
@Raghunandan - Có thể không phải là hệ điều hành nhiều như hệ thống tệp (NTFS so với EXT4).
Enigma

2
@Raghunandan PC-24000 DDR3 có băng thông 24 GB / giây và nó vẫn không phải là giới hạn đối với CPU hiện đại, vì vậy tôi không nghĩ đó thực sự là vấn đề của CPU - ngay cả khi hoạt động của HDD sẽ kém hiệu quả hơn 100 lần so với hoạt động của RAM , CPU vẫn có thể xử lý ít nhất 245 MB / giây và tốc độ đó vẫn cao hơn băng thông nhanh nhất của SSD.
gronostaj

1
@Raghunandan phân vùng linux của bạn cũng có thể nằm trên một phần của đĩa nhanh hơn phân vùng Windows (ví dụ: bên ngoài v. Bên trong)
ernie

16

Có rất nhiều yếu tố ở đây có thể ảnh hưởng đến điều này.

  • Ổ đĩa nguồn - đây là đĩa quay hoặc SSD? Nếu quay đĩa, bố cục của các tệp có thể ảnh hưởng đến hiệu suất. Vì hai tệp có khả năng trên các phần khác nhau của đĩa, điều này sẽ phải chịu trách nhiệm tìm kiếm hình phạt. Như bạn đã nói, nếu bạn chọn hai tệp cùng một lúc và bắt đầu sao chép theo cách đó, HĐH sẽ xử lý các bản sao theo tuần tự.
  • Bố cục tệp - phân mảnh các tệp (cả trên nguồn và đích) có thể ảnh hưởng đến hiệu suất đối với các ổ đĩa không phải SSD
  • Đích đến - nếu bạn có hai luồng ghi ghi vào một mục tiêu, thì bạn sẽ quay lại vấn đề tìm kiếm đầu (một lần nữa, giả sử không phải là SSD) và bạn có thể xen kẽ các tệp. Tôi đã từng làm việc cho một công ty lưu trữ hiệu suất cao và một trong những vấn đề lớn đối với họ là có bao nhiêu luồng video thời gian thực họ có thể đọc hoặc viết (video 2k yêu cầu ~ 300 megs một giây). Việc xen kẽ việc ghi sẽ làm chậm quá trình sao chép và cũng sẽ khiến việc đọc tệp trở lại chậm hơn. Tất nhiên, nếu đĩa của bạn bị phân mảnh để bắt đầu, tập tin của bạn sẽ được ghi xen kẽ.
  • một / nhiều nguồn / mục tiêu - tùy thuộc vào việc các tệp của bạn đến từ một ổ đĩa hay tất cả được ghi vào một ổ đĩa, vấn đề tìm kiếm đầu có thể nhiều hay ít
  • kích thước tệp - đối với các tệp thực sự nhỏ, vấn đề tìm kiếm đầu sẽ không thành vấn đề, vì đầu sẽ cần tìm kiếm tệp tiếp theo (có nghĩa là thay vì quay đi quay lại giữa các tệp, đầu sẽ đọc tệp liên tục)

Về việc hệ điều hành đủ thông minh để khắc phục điều này, nói chung, chúng là như vậy. Đó là, nếu bạn sao chép nhiều tệp cùng một lúc (ví dụ: nghĩ đến việc chọn nhiều tệp cùng một lúc và kéo-n-drop).

Tất nhiên, nếu bạn khởi động hai cplệnh, thì nó sẽ chạy hai lệnh hoặc trong Windows nếu bạn sao chép / dán các tệp riêng biệt và nhận hai cửa sổ tiến trình "sao chép" trên màn hình, thì việc tối ưu hóa sẽ không xảy ra. Trong trường hợp này, bạn đã nói rõ với HĐH rằng bạn muốn chạy hai bản sao cùng một lúc, do đó, sẽ không quyết định một bản sao quan trọng hơn bản sao kia và bắt đầu xếp hàng chúng.


+1 Điều duy nhất còn thiếu là cấu hình RAID , được ám chỉ với "một nguồn / nhiều nguồn / đích".
David Harkness

1
-1 hầu hết những gì được nói không liên quan đến câu hỏi
Celeritas

1

Nếu bạn chọn và sao chép nhiều lần - từ GUI hoặc bằng cách sử dụng lệnh như "sao chép C: \ thư mục * D: \ thư mục \" - thì các tệp SILL sẽ được sao chép liên tục bằng mọi cách, hiển thị câu hỏi.

Nếu bạn sao chép một số tệp và trong khi chúng đang sao chép, hãy bắt đầu sao chép nhiều tệp hơn - bằng hai thao tác riêng biệt từ GUI hoặc bằng hai lệnh riêng biệt chạy đồng thời như "cp -r / usr / bin / / opt / bin / & cp -r / usr / local / bin / / opt / local / bin / "- thì hiệu suất của bạn sẽ giảm gần như chắc chắn - có thể chỉ một chút (ổ đĩa trạng thái rắn cao cấp, tệp lớn trong cả hai thao tác sao chép) hoặc có thể bởi một TON (đĩa quay, các tệp tương đối nhỏ trong một hoặc cả hai thao tác). Các hệ điều hành tốt hơn có thể giảm nhẹ hình phạt hiệu năng ở một mức độ nào đó - ví dụ, các nhân Linux hiện đại sử dụng bộ lập lịch I / O CFQ (Hoàn toàn công bằng hàng đợi), ở một mức độ nào đó sẽ hoạt động chặn "lô" để tăng hiệu quả - nhưng bạn vẫn sẽ thực hiện một hiệu suất hit. Trong một số trường hợp, cú đánh có thể rất LỚN,

TL; DR - chỉ chạy một thao tác sao chép tại một thời điểm, bất kể có bao nhiêu tệp riêng lẻ được bao gồm trong thao tác đó , nếu bạn lo lắng về hiệu suất.

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.