Tool S3 open-source s5cmd telah menarik perhatian karena mengklaim kecepatan hingga 150 kali lebih cepat dari AWS CLI , namun pengujian komunitas mengungkap gambaran performa yang lebih kompleks. Meskipun tool ini menjanjikan dapat memenuhi koneksi 40Gbps pada 4,3 GB/s, eksperimen dunia nyata menunjukkan hasil yang berbeda.
Klaim Performa Dalam Sorotan
Pengguna sedang menguji klaim kecepatan yang berani dari s5cmd dengan hasil yang beragam. Seorang developer melakukan benchmark terperinci menggunakan instance AWS high-end dengan jaringan 25Gbps, mengunduh file 10GB dari S3 . Hasilnya menunjukkan s5cmd membutuhkan waktu 24 detik sambil menjalankan sekitar 20 thread, namun alternatif berbasis Python menyelesaikan tugas yang sama hanya dalam 10 detik. Ketika dioptimalkan dengan 80 worker, tool Python mencapai transfer dalam 6 detik, mencapai throughput 1,6GB/s.
Saya baru saja menjalankan r6a.16xlarge dengan NIC 25gbps, membuat file 10GB yang saya upload ke bucket S3 di region yang sama, melalui S3 VPC endpoint lokal. Mengunduh file 10GB tersebut ke /dev/shm dengan s5cmd membutuhkan waktu 24 detik, sambil menjalankan 20 atau lebih thread yang semuanya menganggur untuk IO.
Pengujian ini menyoroti kompleksitas optimasi performa S3 , di mana koneksi individual biasanya dibatasi sekitar 80MB/s, dan throughput single-file jarang melebihi 1,6GB/s per instance EC2 .
Hasil Perbandingan Performa:
- Klaim s5cmd : Hingga 4,3 GB/s pada koneksi 40Gbps
- Pengujian dunia nyata (file 10GB, instance AWS 25Gbps):
- s5cmd : 24 detik (417 MB/s)
- Alternatif Python : 10 detik (1 GB/s)
- Tool Python yang dioptimalkan: 6 detik (1,6 GB/s)
- Batas koneksi S3 individual: ~80 MB/s
- Batas throughput file tunggal: ~1,6 GB/s per instance EC2
Penanganan File Kecil Menunjukkan Potensi
Meskipun hasil beragam dengan file besar, s5cmd tampaknya unggul dalam operasi file kecil. Beberapa pengguna melaporkan peningkatan signifikan saat bekerja dengan banyak file kecil di bawah 1MB. Pendekatan pemrosesan paralel tool ini mengatasi bottleneck S3 yang umum, di mana upload banyak file kecil secara berurutan bisa sangat lambat. Bahkan implementasi paralel dasar menunjukkan peningkatan kecepatan yang dramatis untuk kasus penggunaan ini.
Konfigurasi Default s5cmd:
- Workers default: 256
- Ambang batas minimum workers: 8
- Batas concurrency: 256
- Integritas data: Verifikasi MD5 checksum dan ETag/Size (opsional)
- API: Menggunakan AWS SDK for Go dengan ListObjectsV2
Tool Alternatif dan Kompetisi
Diskusi mengungkap bidang yang padat dengan tool optimasi S3 . Pengguna menyebutkan rclone untuk dukungan multi-protokol termasuk Google Drive dan WebDAV , geesefs untuk mounting S3 , dan tool khusus seperti s3glob untuk menangani jutaan objek dengan pattern matching. Beberapa penyedia hosting kini menawarkan s5cmd sebagai layanan yang sudah terinstal, menghilangkan kebutuhan untuk instalasi dan pemeliharaan lokal.
Wawasan Deployment Dunia Nyata
Pengguna produksi melaporkan bahwa s5cmd secara konsisten mengungguli AWS CLI dengan margin yang signifikan, meskipun peningkatan kecepatan yang tepat bervariasi berdasarkan kasus penggunaan. Kesuksesan sering bergantung pada konfigurasi yang tepat, termasuk penyesuaian ukuran chunk dan jumlah worker. Efektivitas tool ini tampak paling menonjol dalam skenario spesifik daripada sebagai solusi performa S3 universal.
Pengujian komunitas yang sedang berlangsung mendemonstrasikan pentingnya validasi dunia nyata untuk tool performa. Meskipun s5cmd menawarkan peningkatan yang nyata dalam banyak skenario, pengguna sebaiknya melakukan benchmark untuk kasus penggunaan spesifik mereka daripada hanya mengandalkan angka performa utama.
Referensi: s5cmd
![]() |
---|
Halaman repositori GitHub untuk proyek s5cmd, menampilkan keterlibatan komunitas dan kontribusi |