Я пытаюсь загрузить сгенерированный 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 снова и снова; если они в основном идентичны, ускорение может быть довольно большим.