Hiện tại tôi đang chạy rsync cho 2,2 triệu tệp với tổng dung lượng 250 GB và chỉ mất 700 nghìn tệp trong 6 giờ.
Có ai biết một công cụ giống như rsync có thể làm điều này với nhiều luồng để nó đi nhanh hơn không?
Hiện tại tôi đang chạy rsync cho 2,2 triệu tệp với tổng dung lượng 250 GB và chỉ mất 700 nghìn tệp trong 6 giờ.
Có ai biết một công cụ giống như rsync có thể làm điều này với nhiều luồng để nó đi nhanh hơn không?
Câu trả lời:
Tôi nghi ngờ cpu là yếu tố hạn chế ở đây. Bạn rất có thể bị giới hạn bởi cả băng thông mạng cho việc truyền và IO đĩa; đặc biệt là độ trễ cho tất cả các cuộc gọi stat.
Bạn có thể chia hệ thống phân cấp hệ thống tập tin thành các phần nhỏ hơn để xử lý song song không?
Các tập tin nguồn là gì, và những gì viết hoặc sửa đổi chúng? Có thể gửi các thay đổi khi chúng xảy ra ở cấp ứng dụng không?
Nếu hệ thống con đĩa của máy chủ nhận là một mảng có nhiều đĩa, chạy nhiều quy trình rsync có thể cải thiện hiệu suất. Tôi đang chạy 3 quy trình rsync để sao chép tệp vào máy chủ NFS (RAID6 với 6 đĩa cho mỗi nhóm đột kích) để bão hòa Gigabit Ethernet.
Anh chàng này báo cáo về một khai thác python cơ bản sinh ra nhiều quy trình rsync http://www.reliam.com/company/featured_geek
Tôi đã đọc nhiều câu hỏi tương tự như thế này. Tôi nghĩ rằng câu trả lời thực sự duy nhất là chia nhỏ bản sao / di chuyển thủ công. IOps sẽ là vấn đề ở đây. Nếu điều đó làm bạn cảm thấy tốt hơn, tôi đang trong quá trình di chuyển ~ 200 milllion tập tin tiêu thụ hơn 100TB dung lượng đĩa.
Bạn có thể xem xét việc kiểm tra bản sao cp đa luồng cho linux (mã nguồn mở): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf