Memindahkan file di jaringan lokal - apakah mengompresi akan meningkatkan kecepatan?


8

Saya memindahkan sekitar 20Gb dalam jaringan lokal saya (100 Mbit / detik). File-file tersebut berasal dari sistem desktop Linux yang khas.

Apakah mengompresi mereka menggunakan Tar \ Gzip dan kemudian mengirimkannya meningkatkan kinerja?

EDIT: Saya memindahkan ruang kerja Pengembang, yang berarti banyak sumber dan PDF, dan tidak banyak multimedia.


2
Peningkatan yang bermanfaat mungkin untuk meningkatkan LAN Anda ke gigabit Ethernet. Saya memutakhirkan sakelar saya dan beberapa NIC beberapa tahun yang lalu dan itu pasti sepadan. Sekarang sebagian besar motherboard bahkan dilengkapi dengan port 10/100/1000 on-board, jadi Anda mungkin hanya perlu memutakhirkan sakelar Anda.
Chris W. Rea

Jawaban:


5

Ini sangat tergantung pada jenis file yang Anda pindahkan.

  • Jika file Anda seperti PDF, film JPEG, file Instalasi, dll,
    mereka mungkin sudah dikompresi dan tidak akan memberi Anda keuntungan besar.
  • Jika file sumbernya mengompresi akan sangat berguna.
  • Jika banyak file kecilnya, setidaknya tararsip akan bermanfaat.

Akhirnya, jika mesin sumber Anda memiliki banyak daya pemrosesan dan memori,
kompresi akan menjadi waktu yang berguna - jika tidak, cukup tar(berdasarkan poin di atas) sudah cukup.

Karena jaringan Anda hanya 100 Mbps, Anda harus condong ke arah kompresi jika itu membantu.
Tetapi, jika Anda mentransfer file yang tidak dapat dikompresi banyak,
Anda harus mulai menghitung waktu transfer

Atau , Anda dapat mempertimbangkan media lain untuk ditransfer (seperti USB / DVD).


6

Selain jenis file, ini terutama tergantung pada jumlah file. Meskipun mentransfer data massal secara teori dimungkinkan pada kecepatan jaringan, ada banyak overhead yang terkait dengan operasi sistem file seperti menghitung file dan properti, membuat dan menghapusnya.

Jika Anda memiliki banyak file kecil, overhead bahkan bisa lebih besar dari data yang akan dikirim.

Dalam kasus seperti itu, pengarsipan data sebelum pengiriman dapat menjadi manfaat besar. Jika data ini sangat tidak dapat dikompres (data terenkripsi dan / atau sudah terkompresi), saya sarankan untuk tidak mengompres arsip untuk menghemat banyak waktu - cukup gunakan tar.

Jika file dapat dikompresi (bitmap tidak terkompresi, teks), kompresi juga mungkin masuk akal.


Sepakat. Penghematan ukuran data dari kompresi akan terbatas. Hampir selalu lebih cepat untuk xfer file 1 20gb kemudian 100.000 file yang bila ditambahkan bersama sama dengan 20gb.
Tony

3

Mungkin teknik tercepat adalah menjaring data, menjalankannya melalui pipa, dan kemudian tidak peduli di ujung lainnya.

Sesuatu seperti ini

$ tar -czf - root_dir | ssh -c blowfish remote_machine  (cd parent_dir ; tar -xzf -)

Bendera -z memberitahu tar untuk mengkompres, yang seharusnya sangat mirip dengan langkah gzip yang terpisah, yang Anda sertakan secara terpisah jika Anda mau.

Jika Anda perlu menyalin atau menyinkronkan data pada waktu berikutnya, Anda dapat menggunakan rsync (-z memberikan kompresi). Secara khusus, jika perintah di atas terputus, rsync akan mengkonfirmasi data Anda, dan mengirim apa pun yang Anda lewatkan.

Akan jauh lebih bersih jika ssh tidak meminta kata sandi, tetapi saya pikir itu akan berfungsi bahkan dengan kata sandi.


2

Nik benar, itu tergantung pada data. Secara umum:

  • Foto, film, dan musik JPEG sepertinya tidak akan dikompresi lebih lanjut dengan tar atau zip, karena ini sudah terkompresi secara efektif.
  • Mengompresi file teks dan binari program akan menghasilkan penghematan ruang yang signifikan (dan karenanya waktu transmisi).

2

Secara teknis ya, meskipun sekitar LAN keuntungannya akan kecil.

Pada dasarnya dalam transfer jaringan Anda melalui beberapa tahap meminta jika tujuan sudah siap untuk menerima informasi Anda, kemudian Anda mengirim beberapa dan memeriksa apakah itu diterima ok. Setiap file individual menghasilkan langkah ekstra 'file baru masuk' dan 'selesai file itu'. Jadi jika Anda zip / tar mereka bersama-sama Anda hanya akan mengeluarkan satu pesan 'file baru masuk' dan satu 'selesai file itu' sebagai gantinya ratusan atau ribuan pesan tesis untuk mengirim file yang tidak dikompresi.

Melalui LAN, Anda mungkin perlu waktu lebih lama untuk menyalin file, lalu mengirimnya alih-alih mengirimnya. ubah media pengiriman Anda ke WAN dan zipping adalah cara yang harus dilakukan.


1

Kompresi mungkin memakan waktu lebih lama untuk benar-benar mengompres / mengirim / mendekompresi daripada memindahkan file asli ... Namun, seringkali, beberapa file besar dapat dikirim lebih baik daripada sejumlah besar file yang sangat kecil, jadi memadatkannya menjadi satu file kemudian mentransfer mungkin pilihan yang bagus.


1

Selain jawaban sebelumnya, Anda juga harus mengingat beban yang akan Anda masukkan ke jaringan dan bagaimana ini akan berdampak pada pengguna lain. Untuk jumlah data yang sedemikian besar, terutama jika data yang sama pergi ke banyak tujuan, saya akan mempertimbangkan dengan serius untuk menggunakan drive eksternal sebagai media transfer.


+1 untuk akal sehat: Drive eksternal berfungsi baik untuk menyalin lokal.
Chris W. Rea

1

Iya. Saya telah mengalami ini dan menggunakan metode ini untuk mengambil cadangan data dalam jumlah besar. Jika satu-satunya tujuan Anda menyalin file untuk mengambil kembali file pada hard disk eksternal maka tentu mengompresi semua file / folder dalam satu atau beberapa file ZIP / rar dan menyalinnya pada drive eksternal menghemat banyak waktu.

Menulis satu file besar pada drive eksternal jauh lebih efisien daripada menulis jutaan file kecil.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.