Saya perlu menyalin beberapa data yang mencakup 900.000 file kecil dengan total sekitar 30 gigabytes ke komputer windows. Namun, itu harus dapat disalin dan diatur dalam waktu kurang dari satu setengah jam, dan dapat memakan waktu 5+ jam untuk menyalin dari hard drive USB terutama karena jumlah file yang gila. Apakah ada cara yang lebih baik / lebih cepat untuk menangani ini, seperti melakukan semacam penyalinan blok? Terima kasih
usb-storage
file-transfer
Joe Lyga
sumber
sumber
Jawaban:
Dengan sejumlah besar file, yang terbaik adalah membuat arsip tar sehingga Anda memiliki lebih sedikit file untuk ditangani. Jika Anda menggunakan hard drive eksternal USB 2.0, Anda harus melihat menggunakan USB 3.0, eSATA, atau menggunakan jaringan lokal cepat.
Apa sumber OS Anda? Jika kedua sistem operasi Anda adalah Linux, Anda dapat mengirimkan file melalui tar, gzip, dan ssh ke mesin target. Anda dapat menginstal cygwin di Windows untuk mendapatkan jenis fungsi ini untuk Windows juga.
Pembaruan:
" Menggunakan Tar dan SSH untuk meningkatkan Kecepatan SCP " posting menjelaskan perintah yang diperlukan untuk mengirim konten tar melalui ssh.
sumber
Jika hard drive dapat dihapus dari antarmuka USB dan ke SATA / ATA, saya akan menginstalnya di komputer tujuan. Anda akan mendapatkan kecepatan transfer yang jauh lebih cepat, seperti yang dicatat orang lain. Untuk menyalin, anggap Anda menggunakan Windows, saya akan melakukan ROBOCOPY sederhana. Ini tentang secepat yang Anda benar-benar dapat harapkan, meskipun ada alternatif lain.
Saya akan mencoba untuk menghindari mengompresi semua file ini, ada kesempatan baik waktu untuk kompres dan bergerak akan melebihi hanya memindahkan file
* Menambahkan opsi / MT untuk robocopy. Ini dapat sangat mempercepat transfer saat Anda berada di lingkungan multi-utas.
sumber
/MT
membantu transfer disk tunggal lokal, atau menyebabkan meronta-ronta disk besar-besaran? Ini umum untuk menyalin saham besar di antara server, tetapi mereka sering memiliki latensi tambahan karena pergi melalui jaringan dan peningkatan IOPS dari array RAID.Anda dapat mencoba mengambil gambar seluruh folder / drive
Pada sistem Linux, Anda dapat menggunakan
dd
untuk mendapatkan salinan mentah dari sistem file dan menyalinnya sebagai satu file besar.Untuk mengekstrak gambar ke Windows Anda mungkin perlu menginstal cygwin atau program yang dapat memproses
dd
gambar.sumber
Instal disk tempat file sumber berada di komputer yang Anda atur dan transfer disk ke disk. Lupakan USB. Bahkan mentransfer melalui kabel (jaringan mesin bersama-sama) akan lebih cepat daripada USB (Asumsikan USB 2.0 dan 1Gbps NIC). Jika ini adalah peristiwa yang berulang, lihat replikasi sebagai gantinya.
sumber
Gunakan
rsync
denganz
opsi.Ini akan meningkatkan kecepatan transfer melalui jaringan. Jadi kemungkinan besar tidak berguna dalam kasus Anda.
Setelah membaca lagi saya menyadari bahwa, Kita tidak boleh menggunakan bendera '-z' ketika menyalin data dari satu hard drive lokal ke yang lain, itu meningkatkan overhead. Terima kasih atas komentar dari @FakeName.
sumber
Anda dengan cepat mendekati keterbatasan hard drive Anda. Bahkan, dengan drive komoditas saat ini, tidak mungkin untuk menentukan waktu transfer Anda dengan operasi salin per file.
Dengan asumsi setiap file memerlukan 1 HD seek and seek time adalah 7 ms (yang sedikit diidealkan, secara realistis, setiap file akan membutuhkan dua kali pencarian , kecuali jika bitmap volume di-cache dalam ram), paling-paling Anda akan mengelola ~ 142 file / detik ( \ $ \ frac {1000} {7} = 142.8 ... \ $).
Dengan spesifikasi OP (30 GB, 900.000 file) yaitu ~ 33K per file (\ $ \ frac {30,000,000k} {900,000} = ~ 33,3 ... \ $. 33KB * 142 = 4,68 MBps.
Waktu minimum untuk mentransfer 30 GB pada 5 MBps, adalah ~ 1 jam, 40 menit (\ $ \ frac {30.000} {5} = = 6.000 \ $ detik. \ $ \ Frac {6.000} {60} = 100 \ $ menit, atau 1:40 jam)
Oleh karena itu, tidak mungkin untuk mencapai kecepatan yang lebih baik dari ~ 5 MBPS, dan itu dengan drive yang ideal (dan operasi pencarian lebih sedikit. Ini untuk satu pencarian per file. Secara realistis, itu akan menjadi dua). Anda dibatasi sepenuhnya oleh kinerja disk.
Satu-satunya cara untuk mendapatkan kinerja yang lebih baik maka ini adalah menyalin seluruh sistem file & partisi secara berurutan.
dd
dapat melakukan ini di linux.Apa yang sedang Anda coba lakukan?
sumber
Coba 7zip untuk mengarsipkan file menjadi satu file saja. Jika memungkinkan, gunakan WLAN dengan koneksi adhoc ke notebook.
sumber
Terkait dengan jawaban @arcyqwery, Anda mungkin dapat mengompresnya, dan secara bersamaan mengubahnya menjadi satu file besar. Ini akan mempercepat proses beberapa.
Mungkin juga layak menggunakan program seperti TeraCopy , karena biasanya lebih cepat daripada kinerja salin windows default. Anda harus menguji dengan kondisi yang sama dalam kasus Anda untuk memeriksa.
sumber
Saya punya kasus serupa. Saya mematikan Anti-virus, kecepatan salin berubah dari 3MB / s menjadi 12MB / s.
sumber