Saat ini saya menggunakan rsync untuk memindahkan file besar dari satu host ke host lain. Saya ingin membatasi debit untuk transfer ini. Setelah membaca halaman manual saya menemukan opsi --bwlimit yang mengharapkan nilai KB / s.
Saya ingin membatasi transfert hingga 100Mbit / s. Jadi saya menggunakan pengaturan berikut:
rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/
Tapi ini sepertinya tidak dihormati menurut keluaran rsync:
file.sql.gz
570851702 100% 33.90MB/s 0:00:16 (xfer#5, to-check=34/39)
file.sql.gz
11195140 100% 7.45MB/s 0:00:01 (xfer#6, to-check=33/39)
file.sql.gz
51439169 100% 19.41MB/s 0:00:02 (xfer#7, to-check=32/39)
file.sql.gz
34022 100% 1.55MB/s 0:00:00 (xfer#8, to-check=31/39)
file.sql.gz
2305698 100% 6.96MB/s 0:00:00 (xfer#9, to-check=30/39)
file.sql.gz
2152942 100% 2.73MB/s 0:00:00 (xfer#10, to-check=29/39)
file.sql.gz
86655633 100% 19.33MB/s 0:00:04 (xfer#11, to-check=28/39)
file.sql.gz
3614476032 40% 34.82MB/s 0:02:28
Jika saya tidak salah: 19.33MB / s ~ = 154Mbit / s
Jadi apa yang salah di sini?
PS: rsync versi 3.0.6 protokol versi 30
Terima kasih atas bantuan Anda !
Jawaban:
Saya pikir Anda mengalami "ledakan" seperti yang disebutkan dalam halaman manual:
Jadi seperti yang saya tanyakan sebelumnya, keseluruhan rasio pada akhir pekerjaan Anda akhirnya terbatas pada 10 juta.
sumber
Seperti disebutkan dalam halaman manual rsync , transfer dalam KByte / dtk:
sumber
--bwlimit=100
, saya memperoleh 275kB / s, sangat teratur antara 265-285 kB / s, tidak ada ledakan. Apa yang salah di sini?100 Mbit / s adalah (kurang-lebih) 10 MByte / s, yang memang 10.000 KByte / s. Jika Anda memukul
rsync
ledakan, mungkin alat yang terpisahtrickle
akan membantu:sumber
Nilai yang ditampilkan adalah kecepatan transfer efektif yang mencakup kecepatan dari kompresi dan algoritma delta, ini dapat dengan mudah diamati dengan melihat sejumlah besar jika
rsync
sesi terputus dimulai kembali dengan transfer parsial diaktifkan (ex--append-verify
).sumber