Відповіді:
Rsync, очевидно, буде швидше scp, якщо мета вже містить деякі вихідні файли, оскільки rsync копіює лише відмінності. Але я підозрюю, що ваше питання стосувалося прямої копії в порожню ціль.
Ви передали -z
варіант до rsync
; це вмикає стиснення. Якщо пропускна здатність мережі є обмежуючим фактором (це часто), стиснення може покращити швидкість передачі на помітну кількість.
Ви також можете увімкнути стиснення scp
, передавши -C
параметр. Це має стосуватися рівномірних речей із rsync. Стиснення не ввімкнено за умовчанням у ssh, оскільки це економить пропускну здатність, але додає затримку та накладні витрати процесора; затримка погана для інтерактивних сеансів (це не стосується scp
), а накладні витрати процесора марні, якщо файли, які ви копіюєте, вже стиснуті.
Старіші версії rsync
використовуваних rsh, а не ssh як транспортного шару за замовчуванням, тому справедливе порівняння буде між rsync
та rcp
. Але ssh був за замовчуванням з 2.6.0, випущеного 2004-01-01.
При однакових налаштуваннях стиснення я б очікував rsync
і scp
матимуть однакову швидкість. Будь ласка, поділіться орієнтирами, якщо виявите інше.
rsync -z
він все ще ШЛЕШвидший, ніж scp
при будь-якому стисненні, запропонованому в цих відповідях. Це також швидше, ніж стискання та архівація в один файл вручну та scp
його створення ( scp
стиснення навіть повільніше, ніж це). Тож питання про ОП насправді залишається без відповіді: що таке scp
повільне порівняно з rsync
?
спробуйте scp швидким способом
scp -p -C -o 'CompressionLevel 9' -o 'IPQoS throughput' -c arcfour machine:file .
ці параметри прискорюють scp у 5 разів у моїй настройці порівняно із звичайною машиною scp: file.
Оновлення, 2017
Насправді scp повільний через погане управління деталями TCP, такими як MTU та розмір буфера. На щастя це було встановлено проектом HPN SSH . Наскільки я розумію, ви можете використовувати HPN SSH як транспорт для rsync.
scp -p
(зберегти дату / час) за замовчуванням, і, ймовірно, -r
(рекурсивно) так scp -pr -C ...
. (Мені просто довелося очистити та перезапустити роботу scp 40Gb, використовуючи ці, тому що я забув -p
)
Раніше було навпаки, але я вважаю, що швидкість rsync значно покращилася за останні кілька змін. Це також залежить від того, скільки файлів ви копіюєте. Якщо їх багато, rsync зазвичай буде швидшим, оскільки scp породжує новий процес для кожного файлу, який ви копіюєте. Ви можете спробувати послабити шифр, який використовує scp, щоб побачити, чи він прискорюється. Останнє, що я пам'ятаю, шифрова дуга була найшвидшою.
Для мого тестування, rsync швидше, ніж scp , ви можете скористатися iotop, щоб перевірити їх на передачу того ж файлу:
sudo iotop -o
Можливо, ви отримаєте інший результат, але ви можете перевірити їх самі. BTW, використовуючи scp , не намагайтеся вибирати його шифр:
scp -c arcfour <source> <dest>
Хоча arcfour
може пришвидшити шифрування.
Ви повторно копіюєте файли на існуючі? Якщо так, здатність rsync блокувати порівняння та копіювати лише різниці буде доречною.