Глобальный вход в стиле Halo для сборки на удалённом Mac заканчивается не SSH-сессией: дальше идут мегабайты слоёв, подписей и кэшей, которые вы тянете по SCP или SFTP поверх того же TCP. Если окно отправки и ACK «зажато», высокий RTT через Тихий океан превращает параллельные файлы в очередь пакетов — и ваш p95 времени обратной вытяжки становится предметом споров между сетью и CI.

Для тех, кто подписывает и GeoDNS, и «тяжёлый» пайплайн: см. матрицу глобального входа (GeoDNS и SSH), split-horizon и p95 артефактов и Worker и SSH p95. Ниже — SCP/SFTP, окно TCP и приёмка JP / KR / HK / SG / US-West.

Матрица решений: SCP/SFTP и кросс-регион

Выберите протокол и топологию до того, как закрепите hostname в Terraform. SCP (поверх одного SSH-канала) проще в аудите ключей, но упирается в один поток на сессию; SFTP даёт множественные запросы внутри подсистемы, но требует согласовать лимиты сервера и клиента.

Критерий SCP по прямому SSH SCP/SFTP через бастион SFTP к выделенному сервису
Предсказуемость p95 Высокая при одном крупном файле Зависит от очереди на jump; измеряйте отдельно Хороша при зеркале рядом с Mac
Параллелизм Ограничен моделью одного канала Часто лучше разнести файлы по разным туннелям Несколько async-запросов в одной сессии
Целостность Доверие к SSH + размеру на диске Двойной hop — логируйте оба host key Добавьте manifest (SHA-256) поверх протокола
Операционная стоимость Минимум ролей Выше: ACL, ротация ключей, корреляция логов Сертификаты, WAF, отдельный SLO
Узел / рынок Цель по p95 (обратная вытяжка фикстуры 500 МБ) Шунт / приёмка
JP ≤ 1,25× от внутренней базовой линии команды в Kanto DNS-ответ и SFTP endpoint в одном метро; без «улёта» в US-West без явной метки в логе
KR Аналогично; контроль потерь < 0,3 % на пути к bastion Отдельный hostname для domestic CI; GeoDNS только с ECS
HK Сравнивайте с SZ-выходом; фиксируйте оба профиля Две синтетические пробы (ISP HK и GBA); расхождение в тикете
SG ≤ 1,25× для SEA-раннеров; AU — отдельная строка бюджета Шунт на SG при аварии JP: ручной ack + снижение TTL заранее
US-West Для APAC-команд документируйте «высоколатентный путь» Не смешивать в одной джобе вытяжку из US и интерактивный SSH в JP без разделения записей
p95 считайте по настенным часам от начала передачи до close() на клиенте, с разбивкой: DNS, TCP+TLS (если есть), SFTP handshake, байты. Сравнение «до/после» бессмысленно без фиксации версии OpenSSH и включённого HPN/pipelining.

Выбор маршрута

Разделите управляющий и артефактный hostname: первый — GeoDNS для людей, второй — split-horizon или региональный CNAME к городу удалённого Mac. Транстихоокеанский стык — отдельная строка матрицы с удвоенным бюджетом p95 и меткой «запасной US-West». Прямой SCP выигрывает на одном tarball; ProxyJump — только с замером p95; выделенный SFTP — в одном регионе с object store.

Параллельные соединения

Несколько мелких файлов в одном SSH-канале часто проигрывают одному потоку. Компромисс: 2–4 параллельные сессии на сборщик; дальше — только после MaxSessions на сервере и проверки CPU. На SFTP согласуйте MaxStartups и FD, иначе p95 уезжает в хвост accept().

Контрольные суммы

SSH защищает транспорт, не зеркало. Публикуйте SHA-256 или подпись; сверяйте до распаковки. Manifest держите в том же регионе, что и сборщик.

Повторы при сбоях

Backoff с джиттером, лимит попыток, идемпотентные имена; без ретраев при auth-ошибках. Докачка — если сервер даёт offset; иначе — только полная перекачка и атомарная замена после checksum.

sysctl и OpenSSH: что можно трогать

Ниже — параметры, которые реально влияют на сквозной throughput при высоком BDP. Каждый сопровождайте границей применимости: не выкатывайте на общие ноутбуки без измерений.

# Linux (отправитель или промежуточный relay) — только если вы владеете хостом и понимаете память
# Граница: не на многоарендных VPS с жёстким лимитом памяти ядра; откат при росте retransmits.
sudo sysctl -w net.ipv4.tcp_window_scaling=1
sudo sysctl -w net.core.rmem_max=134217728 net.core.wmem_max=134217728
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 67108864" net.ipv4.tcp_wmem="4096 16384 67108864"

# macOS клиент: проверить, что scaling включён (чтение; изменения через системный профиль)
sysctl net.inet.tcp.sendspace net.inet.tcp.recvspace
# Клиент OpenSSH — высокий BDP, длинные сессии SCP/SFTP
# Граница: только между доверенными хостами; может ухудшить fairness на шаренном Wi‑Fi.
Host artifact-*
  HostName your-sftp.example
  Compression no
  IPQoS throughput
  ServerAliveInterval 30
  ServerAliveCountMax 6
# Сервер sshd (фрагмент) — согласовать с политикой безопасности
# Граница: не открывать шире, чем требует CI; мониторить число сессий на пользователя.
# MaxSessions 20
# ClientAliveInterval 60
# TCPKeepAlive yes

На удалённом Mac приоритет — стабильный путь и диск: агрессивный tcp_wmem на стороне сборщика бессмысленен, если узкое место — подпись кода или распаковка. Всегда фиксируйте версию OpenSSH в отчёте приёмки.

Оговорка: пороги p95 и sysctl — инженерные эвристики, не публичные SLA. Сочетайте активные пробы с логами провайдера и учётом сезонности транстихоокеанских маршрутов.

Итог для закупки: сначала закрепите региональные имена и чеклист шунтирования, затем поднимите сборщика рядом с зеркалом артефактов. На vpshalo выберите PoP (JP, KR, HK, SG, US-West и др.) под вашу матрицу, сравните тарифы, оформите аренду без лишней бюрократии и продолжайте мерить p95 после каждого изменения DNS или бастиона.

Регионы, главная и поддержка

Сверьте матрицу с витриной и оформите Mac в нужном PoP

Откройте главную, загляните в помощь, сравните локали: Япония, Корея, Китай (упрощённый), Тайвань, English — и вернитесь к списку статей за дополнительным контекстом по DNS и Worker.

Арендовать Mac сейчас Тарифы Помощь Ещё статьи