Назад | Перейти на главную страницу

Есть ли способ заставить scp работать быстрее в Mac OS X?

Я пытаюсь загрузить сгенерированный Flex SWF-файл (500 КБ) из своего Macbook (с запущенным Snow Leopard) с помощью команды

scp main.swf server.com:/

У меня была настройка аутентификации ключа, чтобы каждый раз не вводить пользователя / пароль. Этот процесс обычно занимает до двух минут при использовании моего домашнего подключения (768 кбит / с вниз / 300 + кбит / с вверх).

Интересно то, что когда я использую WinSCP на своем компьютере с Windows XP, процесс занимает не более 30-40 секунд.

И мой MacBook, и компьютер с Windows XP используют одно и то же подключение к Интернету. MacBook подключается к маршрутизатору через кабель (который должен быть быстрее, правда?), А Windows XP подключается через Wi-Fi.

Сообщите мне, если вам потребуется дополнительная информация для диагностики проблемы.

Спасибо!

ОБНОВИТЬ:

Публикация дополнительной информации о двух сетапах вслед за Ксенни.

OSX: Core 2 Duo 2,0 ГГц 4 ГБ ОЗУ

Windows XP Pentium D 2,8 ГГц 2 ГБ ОЗУ

Вот настройки WinSCP: Протокол сеанса = SSH-2 Реализация SSH = OpenSSH_4.7p1 Debian-8ubuntu1.2 Алгоритм шифрования = aes Сжатие = Нет протокола передачи файлов = SFTP-3

Я попробовал -c aes в OSX, но он показал сообщение «неизвестный тип шифра».

MacBook использует более «дорогой» в вычислительном отношении шифр, чем WinSCP на ПК, и это вызывает замедление.

Если MacBook в настоящее время привязан к процессору, добавление нагрузки путем сжатия потока данных может усугубить ситуацию.

Если вы используете ssh -c для выбора менее дорогого шифра, ваша проблема должна быть решена. Я предлагаю начать с рассмотрения того, какой шифр использует машина XP, предполагая, что обе машины имеют сопоставимую производительность процессора.

Следуя предложению Ксенни о другом шифре, я бы предложил шифр blowfish-cbc. Это наименее затратный в вычислительном отношении шифр, доступный в OpenSSH, и хотя это не самый безопасный доступный шифр, он намного быстрее. Я часто вижу резкое (в 2-10 раз) увеличение скорости при переходе на фиш-рыбу, поэтому я рекомендую попробовать.

Вы также можете попробовать использовать rsync вместо того scp для обновления. Это позволит перенести измененные данные новой версии только при прямой замене вашего .swf файл.

Предлагаемый синтаксис: rsync --compress --times --progress main.swf server.com:/path/to/final/directory/on/the/webserver Для получения дополнительной информации см. man rsyncи будьте готовы к довольно утомительной странице руководства.

Главное, что вы должны проверить, - это насколько быстро вы можете рассчитывать на это. Если скорость загрузки в Интернет составляет 300 Кбит / с, узким местом здесь не должны быть ни Wi-Fi, ни проводные подключения к маршрутизатору. Используйте простую математику, чтобы проверить или опровергнуть это; если это мегабайт, вы должны ожидать, что это займет 3 секунды (-ish).

Если это не проблема локальной конфигурации или ее невозможно исправить, вы можете использовать scp -C для сжатия для ускорения больших переводов. Или вы можете использовать rsync, если вы загружаете новые версии одного и того же swf снова и снова; если они в основном идентичны, ускорение может быть довольно большим.