Yang ingin saya lakukan adalah menyalin 500 ribu file.
Saya ingin menyalin di dalam server dari satu tujuan ke yang lain. Ini mencakup sebagian besar email banyak file kecil.
Lebih dari 23 GB saja tetapi membutuhkan waktu sangat lama (lebih dari 30 menit dan belum selesai), perintah cp linux juga hanya menggunakan 1 CPU.
Jadi jika saya skrip untuk menggunakan beberapa cps, apakah itu membuatnya lebih cepat.
Sistem adalah 16 core, Ram 16 GB, Driver 15K (SATA 15000 RPM).
Apa pilihan lain?
Saya percaya tarring dan untaring akan memakan waktu lebih lama dan tidak akan menggunakan multi-core ..
linux
file-transfer
cp
Phyo Arkar Lwin
sumber
sumber
Jawaban:
Kemacetan Anda adalah kecepatan hard-drive. Multi-core tidak dapat mempercepat ini.
sumber
Menyalin satu file besar lebih cepat daripada memindahkan banyak file kecil karena ada banyak latensi dengan pengaturan dan penghancuran setiap operasi - juga disk dan OS dapat melakukan banyak baca-depan dengan satu file besar. Jadi tarring terlebih dahulu akan membuatnya lebih cepat. Meskipun begitu Anda memperhitungkan waktu yang dibutuhkan untuk tar, itu mungkin tidak mempercepat terlalu banyak.
Perhatikan bahwa Anda hanya membaca dari satu disk, sehingga memparalelkan panggilan Anda ke disk sebenarnya dapat memperlambat segalanya, di mana ia mencoba untuk melayani beberapa file sekaligus.
sumber
Apakah semuanya ada dalam direktori yang sama? Ada skrip yang memulai beberapa cp: http://www.unix.com/unix-dummies-questions-answers/128363-copy-files-parallel.html
Untuk pohon, Anda perlu menyesuaikannya.
sumber
Meskipun pertanyaannya sudah cukup lama, saya pikir cara terbaik adalah dengan zip menggunakan multi-core seperti lbzip2 dan pbzip2. Transfer file yang dikompresi dan dekompres menggunakan multi-core. Anda dapat menemukan tentang perintah di Internet.
sumber