Mengendalikan sumber daya saat rsync berjalan: --bwlimit untuk membatasi bandwidth, --max-size/--min-size untuk menyaring ukuran file, nice dan ionice untuk mengatur prioritas CPU/disk, serta memahami efek kompresi -z terhadap throughput dan tuning buffer soket.

Rsync bisa menjadi "tetangga yang tidak sopan": saat backup besar berjalan, ia bisa memonopoli bandwidth jaringan atau membanjiri disk dengan I/O — membuat aplikasi produksi kalian melambat. Episode 12 mengajarkan etika sumber daya: bagaimana membatasi, memprioritaskan, dan mengukur rsync agar ia bekerja sama dengan workload lain, bukan melawannya.
--bwlimit=RATE membatasi kecepatan transfer dalam KiB/s:
rsync -avh --bwlimit=1024 /home/data/ root@backup:/backup/Artinya: transfer berjalan maksimal 1 MiB/detik — cukup untuk backup malam tanpa membunuh koneksi aplikasi lain. Ini sangat berguna ketika backup berjalan bersamaan dengan traffic produksi (migrasi di episode 11, misalnya). Nilai yang wajar: --bwlimit=1024 hingga --bwlimit=5120 (5 MiB/s) untuk koneksi 100 Mbps.
Note
--bwlimit dalam rsync 3.x mengacu pada KiB/s (1 KiB = 1024 byte), bukan KB desimal. Jika ISP kalian bilang "100 Mbps", bandwidth transfer itu sekitar 12.500 KiB/s — atur --bwlimit jauh di bawah angka tersebut bila ingin menyisakan ruang untuk aplikasi lain.
Menyaring berdasarkan ukuran file — berguna untuk backup yang fokus:
rsync -avh --min-size=1K --max-size=100M src/ dest/| Flag | Fungsi | Contoh |
|---|---|---|
--min-size=1K | Skip file lebih kecil dari 1 KiB | Hindari file log kosong |
--max-size=100M | Skip file lebih besar dari 100 MiB | Hindari file ISO/image yang tidak perlu di-backup |
Suffix yang didukung: K (KiB), M (MiB), G (GiB). Kombinasi keduanya menghasilkan filter ukuran yang presisi — berguna di kasus "backup semua kecuali video raksasa".
Selain jaringan, rsync juga makan CPU (kompresi, checksum) dan disk (membaca/menulis). Turunkan prioritasnya dengan nice dan ionice:
nice -n 19 ionice -c3 rsync -avh /home/data/ /backup/nice -n 19 — prioritas CPU terendah; proses lain dijadwalkan lebih dulu.ionice -c3 — kelas idle; I/O disk hanya dilayani jika tidak ada yang lain butuh disk.Kombinasi ini membuat backup besar bisa berjalan di server produksi tanpa terasa. Ini kebiasaan yang direkomendasikan untuk cron backup (episode 10).
Tip
Untuk workload produksi, aturan praktis: batasi dua hal yang paling terbatas. Jaringan sempit → --bwlimit. Disk sibuk → ionice -c3. CPU sibuk → nice -n 19. Sering kali cukup dengan satu-dua, tidak perlu semuanya.
-z mengompresi data — tetapi kompresi adalah pertukaran antara CPU dan bandwidth:
.zip, .jpg, .mp4, image Docker): -z hampir tidak menyusutkan apa pun — percuma.rsync -avh --stats src/ dest-nocompress/
rsync -avhz --stats src/ dest-compress/Bandingkan baris sent dan total size dari kedua output --stats — kalian akan melihat berapa byte yang dihemat vs berapa waktu yang bertambah.
Buffer soket memengaruhi throughput pada link dengan bandwidth-delay product besar (koneksi lintas benua). Ukuran buffer TCP diatur sistem (sysctl net.core.rmem_max), dan rsync bisa memintanya lewat --sockopts:
rsync -avh --sockopts=SO_SNDBUF=262144,SO_RCVBUF=262144 \
/home/data/ root@remote:/backup/Pada koneksi jarak jauh, buffer kecil membuat sender "menunggu ACK" sehingga bandwidth tidak terpakai penuh. Memperbesar buffer membantu — tetapi hanya jika jalur jaringan dan kernel mendukungnya (periksa sysctl net.ipv4.tcp_rmem). Untuk koneksi dalam data center yang sama, tuning ini jarang perlu.
Jangan men-tune berdasarkan tebakan. Ukur dulu batas fisiknya:
iperf3 -c remote-host
rsync -avh --stats /large-file.bin remote:/tmp/iperf3 memberi tahu throughput TCP maksimum; baris sent di --stats memberi throughput rsync aktual. Jika rsync jauh di bawah iperf3, ada ruang tuning — kalau sudah mendekati, masalahnya bukan rsync melainkan jalur jaringan.
Pada episode 12 ini, kalian telah menguasai kontrol sumber daya.
Inti yang harus dibawa pulang:
--bwlimit=RATE membatasi KiB/s; wajib saat backup bersamaan dengan produksi.--min-size/--max-size menyaring berdasarkan ukuran file.nice -n 19 + ionice -c3 membuat rsync "tidak terasa" di server sibuk.-z untung di WAN, merugikan di LAN dan file terkompresi; ukur dengan --stats.--sockopts) membantu link lintas benua; benchmark dulu dengan iperf3.Di episode 13 selanjutnya, kita beralih ke sisi gelap: keamanan & CVE 3.4.x — 33 kerentanan yang ditutup rsync 3.4.0 termasuk 2 RCE (CVE-2024-12084/12085), heap overflow, perbaikan --safe-links, tambalan 3.4.3/3.4.4, dan best practice penggunaan yang aman. Sampai jumpa di episode 13!