Я использую rdiff-backup для резервного копирования своих данных. Поскольку некоторые машины используют Windows, я установил там sshd и rdiff-backup с cygwin. Резервное копирование работает, но довольно медленно. Затем я провел несколько тестов с scp, ssh copy over pipe, sftp и netcat между разными системами. Между машинами Linux все отлично. Scp/ssh дает мне около 70 МБ/с. Через cygwin эта скорость падает до 8 МБ/с. Однако использование sftp или netcat дает хорошую скорость. Я достигаю более 100 МБ/с с netcat.
Я пробовал использовать разные шифры и отключать сжатие. Но это не помогает. Все машины новые, с несколькими гигабайтами оперативной памяти и аппаратным рейдом. Я пробовал на разных машинах с cygwin и получаю похожие результаты. Стоит ли мне использовать netcat и туннелировать его? Похоже, это слишком много накладных расходов на конфигурацию. Rdiff-backup не может использовать sftp, так что мне здесь не повезло. Я также не хочу использовать sshfs, так как rdiff-backup использует скользящую контрольную сумму, а я не хочу передавать все данные для расчета.
Есть идеи, что является причиной этого замедления?
РЕДАКТИРОВАТЬ:
Информация о среде cygwin:
Windows 2008 Storage Server Standard Ver 6.0 Build 6002 Service Pack 2
CYGWIN_NT-6.0 filer 2.0.4(0.287/5/3) 2015-06-09 12:22 x86_64 Cygwin
openssh 6.8p1-1
ПРАВКА2
Когда я включаю подробный вывод для scp между Linux и Windows, я получаю:
debug2: channel 0: rcvd adjust 65536
Значение этого перевода всегда одинаково.
Тот же тест между Linux и Linux дал мне:
debug2: channel 0: rcvd adjust 114688
Здесь значение время от времени меняется и значения такие как131072или147456появляться.