2026 SFTP, rsync и scp по SSH: большие файлы на арендованные Mac mini ProxyMac в HK / JP / KR / SG / US без переполнения uplink
Команды, которые загружают датасеты, архивы Xcode или CI-артефакты на хосты Mac mini на Apple Silicon в Гонконге, Японии, Корее, Сингапуре или США, часто начинают с простого scp—и затем видят, как передача ползёт, обрывается на середине или злит всех в одной кофейне с Wi-Fi. Редко виноват сам «медленный SSH»; чаще это выбор инструмента × контроль перегрузки × семантика возобновления × порядок сброса на диск на пути с реальной RTT. В этом гайде (1) словарь симптомов, (2) матрица из четырёх строк для SFTP vs rsync vs классический scp, (3) справедливость по полосе, (4) стратегии частичной передачи на нестабильной последней миле, (5) операционный план из девяти шагов и явные ссылки на настройку клиента при большой RTT, зависания MTU / PMTUD, параметры TCP keepalive и межрегиональную задержку.
- Скрытая связь: заполненный uplink по SSH голодает и события мыши VNC — согласуйте bulk-задачи с GUI по гайду между регионами.
- Миф возобновления: простой
scpне «магически» продолжает файл с середины; нужныrsync --partial, отдельные SFTP-клиенты или пошаговые инструменты. - Диск: APFS на mini всё равно требует запаса свободного места для разреженных записей; «100 % полный» том посреди копии реже портит биты, но чаще рвёт задания.
Почему bulk по SSH ощущается хуже интерактивной оболочки
Интерактивный SSH терпит джиттер: люди печатают медленнее пропускной способности. Один долгий bulk-поток держит окно перегрузки высоким, выявляет каждую микропотерю на транстихоокеанских путях и плохо уживается с middlebox, которые режут устойчивый throughput. При RTT выше ~120 мс мелкие ошибки буфера отправки выглядят как «застыли на 80 %», хотя это ожидание ACK — сначала настройте клиент по рецепту IPQoS и шифров, потом обсуждайте инструменты.
Матрица: SFTP, rsync по SSH и классический scp
| Инструмент | Частичное возобновление | Дельта каталога | Встроенное ограничение | Лучший дефолт для много-ГБ деревьев |
|---|---|---|---|---|
OpenSSH scp (legacy) |
Нет — с нуля | всё дерево каждый раз | нет полноценного флага | только мелкие разовые задачи |
| SFTP / GUI-клиенты | часто да (зависит от клиента) | зеркала различаются | лимиты в UI | передачи дизайнерам, drag-and-drop |
rsync -e ssh |
да с --partial |
сильно — режимы контрольных сумм | --bwlimit |
CI-артефакты и датасеты |
batch sftp / шаблоны reget |
скриптуемо с осторожностью | по одному файлу | вместе с trickle или QoS |
строгие цепочки через bastion |
Если вы уже устранили чёрные дыры PMTUD, но видите пилообразный throughput, перенесите разговор с «какой шифр» на сколько параллельных сессий: три безлимитных rsync часто проигрывают одному ограниченному с более глубоким окном.
Справедливость полосы: домашний uplink против colocated mini
Mini ProxyMac сидят на хорошо запасённом egress ЦОД; узкое место обычно — ваш асимметричный домашний канал. Используйте rsync --bwlimit=… в KiB/s, чтобы оставить место DNS, Slack и Zoom — особенно если руководство делит VLAN с вашим пушем датасета HK → US. Сочетайте числовые лимиты с окнами по времени суток: тяжёлый rsync ночью, когда Wi-Fi менее занят.
rsync --parallel умножают TCP-потоки — на потерянных путях они могут увеличить суммарное время. Начните с одного потока, добавляйте параллелизм только после чистой базы iperf3 или копии файла.
Если корпоративная политика гонит трафик через HTTP-прокси, bulk SSH может быть уже обёрнут — см. отдельный гайд ProxyCommand в семействе статей про корпоративную сеть; не наслаивайте два ограничителя без измерений.
Возобновление, частичные файлы и атомарная передача команде
Всегда комбинируйте --partial с детерминированным каталогом частичных файлов (напр. .rsync-partial), чтобы эксплуатация видела незавершённые файлы. Для сценария «опубликовать, когда готово» пишите в staging-путь на mini, затем mv на место — атомарное переименование на том же томе APFS скрывает полуфабрикатные tarball. Зафиксируйте политику контрольных сумм: -c проверяет целостность ценой CPU; на доверенном LAN можно пропустить, на трансграничных путях с историей bit flip — включить.
Держите ServerAliveInterval и ServerAliveCountMax в согласовании с руководством по TCP user timeout, чтобы NAT не убивал ночные джобы молча; причины разрывов пишите в тикет.
Девять шагов для устойчивых пушей в mini HK / JP / KR / SG / US
- Зафиксировать намерение: размер источника, число файлов и допустимое окно завершения в тикете.
- Проверка path MTU: триаж из статьи про MTU до многочасовых копий.
- Выбор инструмента: по умолчанию
rsyncдля деревьев; GUI SFTP для разовых креативных файлов. - Ограничение:
--bwlimitили QoS на маршрутизаторе; подтвердите запас uplink коротким тестом скорости. - Тюнинг клиента: для bulk — IPQoS=throughput.
- Запас диска:
df -hна mini; держите ≥15 % «дыхания» APFS. - Запуск с логами: verbose через
teeлокально; секреты не копируйте в публичные каналы. - Проверка: контрольная сумма или сравнение размеров; выборочно открыть файлы.
- Разбор: при срыве SLA приложите графики RTT + статистику rsync, а не субъективные «тормозит».
FAQ
Нужно ли снова шифровать образы диска внутри rsync? Уже сжатые форматы мало выигрывают от SSH-сжатия; отключайте при упоре в CPU.
Бьёт ли AFP/SMB SSH на той же mini? Иногда для нативных Finder-потоков, но SSH+rsync остаётся дружелюбным к файрволу и скриптам — выбирайте по workflow, не по догме.
А конвейеры zstd? Отличны, когда CPU дешевле полосы — с теми же keepalive и гигиеной MTU.
Почему bare-metal Mac mini всё ещё выигрывает на bulk-ingest
Арендованные узлы Mac mini M4 дают предсказуемый NVMe-throughput, без соседей, ворующих IOPS, и нативные пути macOS для Xcode и креативных стеков — удобно, когда стратегия HK / JP / KR / SG / US требует одинакового рецепта ingest в каждой географии. Сравните регионы на странице тарифов, репетируйте переносы в справочном центре, а для GUI-проверки посреди копии держите VNC в отдельном классе QoS, не смешивая с bulk SSH.
Данные в нужный регион — затем автоматизация
SFTP · rsync · HK / JP / KR / SG / US