rsync rất chậm (yếu tố 8 đến 10) so với cp khi sao chép tệp từ nfs-share sang thư mục cục bộ


17

Tôi có một máy chủ Ubuntu mới được cài đặt, nó phải là máy chủ dự phòng mới cho bộ lưu trữ VM của chúng tôi. Máy chủ có 4 nics, 2 trong số đó là 10Gbit (thực tế là intel x540-T2 với trình điều khiển mới nhất hiện có) được sử dụng để kết nối với SAN. Tôi có nfs-share được gắn cục bộ và so sánh sự khác biệt về tốc độ trong khi sao chép một thư mục có ~ 30 tệp, khoảng 15 vm-hình ảnh và các tệp nhật ký tương ứng. Hình ảnh có kích thước từ 8 GB đến 600 GB.

Sử dụng:

cp -rf /mnt/nfs-share /backup-storage/

Do đó, bmon cho thấy khoảng 600 MiB / s.

Sử dụng

rsync -av /mnt/nfs-share /backup-storage/

bmon hiển thị một số gói trong những giây đầu tiên, tạm dừng trong khoảng 30 giây và hơn là xây dựng lên đến khoảng 60-75 MiB / s. CPU là khoảng 60%.

Tôi nên / có thể thay đổi để sử dụng rsyncvới hiệu suất tương tự như cpthế nào?

Câu trả lời:


20

Tôi nghĩ rằng những khác biệt này được thiết lập khá tốt giữa cprsync. Xem bài viết này như một tài liệu tham khảo, có tiêu đề: Một cái nhìn về hiệu suất rsync .

đoạn trích:
The four commands tested were:

    rsync $SRC $DEST
    echo $SRC | cpio -p $DEST
    cp  $SRC $DEST
    cat $SRC > $DEST/$SRC

The results for rsync, cpio, cp, and cat were:

user    sys     elapsed hog MiB/s   test
5.24    77.92   101.86  81% 100.53  cpio
0.85    53.77   101.12  54% 101.27  cp
1.73    59.47   100.84  60% 101.55  cat
139.69  93.50   280.40  83% 36.52   rsync

Tôi sử dụng rsynchàng ngày. Có những điều bạn có thể làm để cải thiện tình hình.

Ví dụ: bạn có thể thử sử dụng công -Wtắc:

-W, --whole-file            copy files whole (w/o delta-xfer algorithm)

Ngoài ra tôi sẽ đề nghị đảm bảo rằng bạn có 3.x phiên bản của rsync. Có những cải tiến đáng chú ý khi chúng tôi chuyển sang các phiên bản mới hơn.


15

Cách để tạo rsync có hiệu suất tương tự như cp là đánh vần là "cp".

Sự khác biệt giữa hai lệnh là đáng kể mặc dù hiệu ứng ròng có thể giống nhau. Cụ thể, rsync thực hiện một loạt các thao tác đọc để xem liệu một số tệp hoặc một phần của tệp có nên được sao chép hay không.

Có một số lý do mà bạn muốn sử dụng rsync? Bởi vì bản sao cp "mù quáng", bạn sẽ thấy hiệu suất thô cao hơn. Nếu, đối với một tập hợp các điều kiện kích hoạt, cơ chế "chuyển đổi delta" của rsync được sử dụng, bạn sẽ thấy tốc độ truyền giảm và việc sử dụng CPU tăng lên khá nhiều theo cách bạn báo cáo.


Tôi nhận thức được hành vi, nhưng không mong đợi một hiệu ứng như vậy. Tôi nghĩ rằng, rsync CPU-Power và IOPS đã cho nên được thực hiện ít nhất là 300 MiB / s, đặc biệt nếu tệp để sao chép không tồn tại. Tôi chưa hoàn thành thử nghiệm. Việc sao lưu với rsync sẽ thuận tiện hơn, nhưng tôi cũng có thể viết một tập lệnh bằng cách sử dụng cp, dd hoặc bất cứ điều gì xuất hiện trong tâm trí. Bây giờ tôi muốn kiểm tra các khả năng khác nhau trên các hệ thống tập tin khác nhau để đánh giá cái gì phù hợp nhất.
soulpath

6
Bạn có thể gọi tôi là một người theo chủ nghĩa kinh nghiệm, nhưng khi những kỳ vọng và thực tế của bạn không đồng ý, thì đó thường không phải là thực tế bị nhầm lẫn. Có hàng tá lý do tại sao bạn có thể phải chịu hình phạt này; thậm chí xen kẽ việc đọc và ghi trên SAN có thể có các lượt truy cập hiệu năng ấn tượng tùy thuộc vào chi tiết tốt của phần mềm.
msw

3
Tôi không nghi ngờ gì về thực tế, chỉ là về rsync- nhưng do những khác biệt này, tôi sẽ đi với việc viết một kịch bản sử dụng cp và một số tổng kiểm tra. Cảm ơn lời khuyên của bạn!
soulpath

Không, chỉ không sử dụng rsync trên hệ thống tệp được nối mạng. Máy tính của bạn cần tải xuống toàn bộ tệp, do đó bạn mất tất cả lợi thế của rsync.
Giacomo Catenazzi

Đáng buồn là câu trả lời này là sai trong chi tiết của nó. Khi sao chép giữa các hệ thống tệp "cục bộ" (và có, ngàm NFS là hệ thống tệp cục bộ trong ngữ cảnh này), rsync không đọc tệp đích khi sao chép trừ khi bạn kích hoạt rõ ràng hoạt động phản tác dụng này với --whole-file. Trong tình huống này, nó giống như rất chậm cp.
roaima
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.