Lieferung in 1–5 Min.

TB5-Mehrmaschinen-Cluster
für parallele Xcode-Builds

$19,8 / Tag ab · Dedizierte Hardware
macOS Server mieten
80 Gbps TB5 Verknüpfung in einer Region

Thunderbolt-5-Mac-mini-Cluster: Wie viel schneller wird die iOS-Build-Farm?

Ein einzelner Mac mini reicht für den täglichen Xcode-Build – bis Sie eine Multi-App-Matrix, nächtliche Archive-Batches oder geteiltes DerivedData über mehrere CI-Runner fahren. Dann ist der Engpass selten die CPU, sondern der Datenaustausch zwischen den Maschinen. Wir haben drei Mac mini M4 als gemietete macOS Server in ZovClouds Japan-Region gebucht, Thunderbolt-5-Verknüpfung aktiviert und alles gemessen: von Link-Erkennung und iperf-Durchsatz bis zu großen Dateisyncs und dreifach parallelen Archives. So viel bringt 80 Gbps physisches Networking wirklich für Ihre iOS-Build-Farm – und welche Workflows das TB5-Add-on besser weglassen.

Wann ein Mac mini reicht – und wann nicht

Ein Mac mini M4 (10-Kern-CPU, 16 GB Unified Memory) archiviert ein mittelgroßes SwiftUI-Projekt in etwa vier Minuten – für Indie-Entwickler oder kleine Teams mit wenigen täglichen Builds völlig ausreichend. Schmerz zeigt sich in drei wiederkehrenden Mustern:

Erstens Multi-Scheme- / Multi-App-Matrizen: Ein Monorepo muss Haupt-App, Watch, Widget sowie Debug-/Release-Varianten bauen. Eine Maschine reiht sie seriell an, die Wandzeit wächst linear mit der Target-Anzahl. Zweitens gemeinsame Compile-Caches: DerivedData oder SPM-Caches von einem Runner auf andere über den öffentlichen 1-Gbps-Port zu schieben, macht aus mehrgigabyte Sync eine minutenlange Steuer. Drittens verteilte Inferenz oder Render-Shards: Maschinen tauschen Zwischenartefakte oft aus, und Ethernet-Latenz plus Bandbreitenlimits treffen vor der CPU ein.

Dieser Beitrag diskutiert nicht, ob Sie einen macOS Server mieten sollten (dafür gibt es Preisseiten). Er beantwortet eine konkrete Frage: Nach Thunderbolt-5-Verknüpfung am gleichen Rechenzentrumsknoten – wie schnell werden Datenpfade zwischen Maschinen, und was bedeutet das für parallele Build-Wandzeiten?

Testumgebung

Hardware: 3 × Mac mini M4 · 10-Kern-CPU · 16 GB Unified Memory · 256 GB NVMe (ZovCloud Japan-Knoten, gleiches Rack).
Interconnect: Thunderbolt-5-Verknüpfung (nominell 80 Gbps physischer Kanal); Baseline über jeweils 1 Gbps dedizierten öffentlichen Port.
OS: macOS 15 Sequoia; Tools: iperf3 3.17, dd + SMB, xcodebuild 16.4.
Beispielprojekt: SwiftUI-Monorepo (~142.000 Zeilen, Haupt-App + 2 Extensions + 1 Watch-Target).

Was Thunderbolt-5-Verknüpfung tatsächlich verbindet

Ein verbreitetes Missverständnis: TB5-Verknüpfung verschmilzt nicht drei CPUs zu einem „Super-Mac“ und startet keinen transparenten verteilten Compiler. Sie liefert eine hochgeschwindige physische Verbindung zwischen Maschinen in derselben Region – nominell 80 Gbps, weit über dem 1-Gbps-Uplink jedes Hosts.

Bei ZovCloud funktioniert Verknüpfung nur für Instanzen am gleichen Rechenzentrumsknoten: Singapur und Tokio lassen sich nicht per TB5 verketten. Nach der Bereitstellung verdrahtet das Rechenzentrum Thunderbolt-Kabel und Bridge-Konfiguration; macOS zeigt eine zusätzliche Thunderbolt-Bridge- bzw. Hochgeschwindigkeits-Bridge-Schnittstelle für TCP, SMB/NFS oder Objekt-Caches.

Das Wertmodell ist klar: CPUs bleiben unabhängig schedulierbar; die Kosten für Datenbewegung zwischen Hosts sinken stark. Wenn Ihre Pipeline nie große Artefakte zwischen Maschinen synchronisiert – jeder Runner klont, baut und lädt allein in Object Storage – sehen Sie kaum Nutzen und sollten nicht für Verknüpfung zahlen.

Topologie und Bereitschaft: Link wirklich aktiv?

Wir nutzten ein Controller-plus-zwei-Worker-Dreieck: node-a für Scheduling und Artefaktsammlung, node-b / node-c als parallele Build-Worker. Nach Buchung des TB5-Add-ons (oder Aktivierung in der Konsole laufender Instanzen) erschienen die Thunderbolt-Bridge-Schnittstellen innerhalb weniger Minuten. Vor Benchmarks diese drei Checks – sonst messen Sie möglicherweise nur Ethernet.

  1. 01
    Bridge-Schnittstellen prüfen

    Auf jedem Host ifconfig oder Systemeinstellungen → Netzwerk. Thunderbolt Bridge (oder benannte DC-Bridge) mit privater IP im gleichen Subnetz muss sichtbar sein.

  2. 02
    Bidirektionales Ping und MTU-Check

    Alle Paare mit ping -c 20. RTT sollte Sub-Millisekunden bis ~1 ms bleiben. Mehrmillisekunden-Jitter deutet oft auf öffentlichen Pfad – Routing-Tabellen prüfen.

  3. 03
    Sync-Traffic auf TB-IPs pinnen

    Build-Skripte auf Bridge-Subnetzadressen zeigen, nicht auf öffentliche IPv4 – damit rsync / SMB nicht still auf den 1-Gbps-Uplink zurückfällt.

Tipp

Nur USB4-/Thunderbolt-Gerätebaum ohne nutzbare IPs? Verknüpfungsstatus in der Konsole auf „aktiv“ prüfen, dann Netzwerk-Stack neu starten oder Support-Ticket. Verknüpfung nur gleicher Knoten – regionsübergreifend Internet oder Object Storage nutzen.

Durchsatz: TB5 vs. 1-Gbps-öffentliche Pfade

Runde eins: iperf3 für TCP-Einweg-Durchsatz. Baseline: öffentliche IPv4 der Maschinen untereinander (Rack-Switch, aber 1-Gbps-Port-Cap). Testpfad: Thunderbolt-Bridge-Privatnetz. Je 60 Sekunden, drei Wiederholungen, Median berichtet.

80
Gbps nominelle Bandbreite
58.4
Gbps TB5-TCP-Median
0.94
Gbps öffentlicher Port Median
~62×
Inter-Host-Faktor
Pfad TCP-Durchsatz (Median) RTT (Median) Anmerkung
Öffentliche IPv4 0,94 Gbps 0,6–1,2 ms Begrenzt durch 1-Gbps-Port
Thunderbolt Bridge 58,4 Gbps < 0,3 ms iperf3 Einzelstream, CPU nicht gesättigt
TB5 bidirektional 51,2 Gbps up / 49,8 Gbps down < 0,4 ms Leichter Abfall bei Dual-Stream; weit über GbE

User-Space-TCP erreicht selten theoretische 80 Gbps – Protokoll-Overhead und Single-Stream-Scheduling zählen; unser Test war Speicher-zu-Speicher, nicht diskgebunden. Für die Praxis reicht „eine bis zwei Größenordnungen schneller als 1 Gbps“, um die Sync-Strategie zu ändern: mehrgigabyte Caches, die früher delta-komprimiert wurden, können ganz übertragen werden – einfachere Skripte.

Große Dateien und gemeinsame Caches: wo Wandzeit gewinnt

Schöne Durchsatzzahlen garantieren keine schnelleren Pipelines, wenn Sie keine großen Blobs bewegen. Wir synchronisierten einen 8,4-GB-DerivedData-Snapshot (Module Cache plus Zwischenprodukte) per SMB und holten ein 2,1-GB-.xcarchive zum Controller zurück.

Aufgabe Über 1 Gbps öffentlich Über TB5-Bridge Wandzeit-Reduktion
8,4 GB DerivedData → Worker 72 s 1,5 s ~48×
2,1 GB xcarchive → Controller 19 s 0,4 s ~47×
1,6 GB SPM-Cache bidirektional 28 s 0,6 s ~46×

Fazit: Jeder Schritt, der gigabytegroße Artefakte zwischen Hosts bewegt, lässt Sync-Zeit mit TB5 kollabieren. Wenn jede Maschine unabhängig git clonet, Dependencies holt und in Object Storage lädt mit kaum Peer-Traffic, liegt der Speedup nahe null – Verknüpfungskosten sind verschwendet.

Paralleles Archive: wie tief kann die Wandzeit sinken?

Runde zwei spiegelt CI: gleicher Commit, drei Schemes (Haupt-App Release, Widget Release, Watch Release) jeweils mit xcodebuild archive auf separatem Worker; Baseline drei serielle Archives auf einer Maschine. Der Controller verteilte Quell-Snapshots per TB5, sammelte Artefakte und führte leichte Validierung durch. Drei Läufe pro Konfiguration, Median.

11:42
Einzelhost, seriell
4:18
Drei Hosts parallel (inkl. Sync)
2,7×
Wandzeit-Speedup
+9 s
TB5-Sync-Overhead

Parallele Wandzeit: 4:18 – nahe der langsamsten Einzelscheme-Zeit (Haupt-App-Archive ~4:05) plus ~9 Sekunden für Quell-/Cache-Push und Artefakt-Pull. Über 1 Gbps allein Sync über eine Minute, was den Großteil des Parallel-Gewinns frisst.

Speedup ist nicht linear „drei Maschinen = 3ד. Ungleiche Scheme-Dauer, Zertifikats-Unlock und SPM-Rennen lassen die Wandzeit am langsamsten Bein hängen. TB5s Job ist, Dispatch und Sammlung von Minuten auf Sekunden zu schrumpfen, damit paralleles Scheduling zahlt; CPU-Gewinn kommt von mehreren physischen Hosts gleichzeitig – nicht von Kabeln, die Single-Core-Swift-Builds magisch beschleunigen.

Ziel nicht missverstehen

Ein Target über Hosts für „verteilten Einzel-Build“ zu splitten ist in Xcode unpraktikabel und nicht TB5-Zweck. Das richtige Muster: Arbeit nach Scheme / App / Plattform-Matrix schneiden – jede Maschine führt einen vollständigen unabhängigen Build aus und nutzt schnelle Verbindung, um Scheduling- und Artefakt-Kosten zu senken.

Stolpersteine, die wir wirklich trafen

1. Sync-Skripte an falsche Schnittstelle gebunden. Erster iperf-Lauf zeigte „nur 900 Mbps“, weil Skripte öffentliche IPs nutzten. Wechsel ins Bridge-Subnetz: sofort über 50 Gbps. CLUSTER_IFACE und PEER_TB_IP explizit in CI-Env-Vars setzen.

2. SMB-Signing begrenzt Durchsatz. Standard-macOS-SMB kann die CPU vor der Bandbreite sättigen. Signing für kurze Benchmarks tunen; in Produktion Sicherheit vs. Speed abwägen oder rsync per SSH an TB-IPs für Cache-Verzeichnisse.

3. Keychain und Signierung pro Host. Verknüpfung löst Zertifikate nicht. Jeder Worker braucht Distribution-Zertifikate und Unlock. Wir nutzten gemeinsame Automatisierung, aber Keys pro Maschine – kein gemeinsames Keychain-Verzeichnis wegen Korruptionsrisiko.

4. Disk vor Netzwerk. 256-GB-Systemvolumes unter gleichzeitigem DerivedData-Schreiben erhöhten gelegentlich I/O-Wait. Große Monorepos mit schweren Nacht-Batches sollten +1 TB / +2 TB SSD-Erweiterung vor mehr verknüpften Knoten – TB5 hilft nicht, wenn lokale Disks nicht mithalten.

Wann TB5 sich lohnt – und wann nicht

Benchmarks in eine Entscheidungstabelle vor dem Kauf allein wegen „80 Gbps“:

Ihre Situation Empfehlung Ist TB5 kritisch?
Eine App, wenige Builds täglich Ein dedizierter Knoten Meist nein
Multi-Scheme- / Nacht-Matrix 2–3 parallele Hosts + Controller Ja, stark (sync-sensitiv)
Gemeinsame DerivedData- / SPM-Cache-Farm Eine Cache-Quelle + mehrere Worker Ja (GB-Sync)
Unabhängige Builds, nur Object-Storage-Upload Mehrere Self-hosted Runner Optional, begrenzter ROI
Regionsübergreifend (z. B. Tokio + Singapur) Object Storage / git – kein TB5 Nicht verfügbar (nur gleicher Knoten)

Preise: ZovCloud-Basisknoten ab $19,8/Tag, $53,5/Woche, $99,1/Monat, $269,6/Quartal; Thunderbolt-5-Verknüpfung ab $1,8/Tag, $4,9/Woche, $9,1/Monat, $24,8/Quartal. Drei monatliche Hosts plus Verknüpfung passen Teams, deren Queues klar an Sync und seriellen Builds hängen; Release-Wochen können Verknüpfung tageweise aktivieren und nach Tests abschalten – ohne Rechenzentrumskupfer und Switches zu kaufen.

Vom Benchmark in den Betrieb: dedizierte Cloud-Cluster

Drei verknüpfte Mac minis im Büro können ähnlichen Durchsatz liefern, aber Rack, Verkabelung, Stromausfälle, feste öffentliche IPs, Zertifikatsrotation und Nacht-Bereitschaft bleiben Ihr Problem. Für viele Mobile-Teams ist dieser Ops-Aufwand die echte Hürde – nicht ob iperf3 läuft.

Schnelle Linux-VM-Meshes scheitern am Apple-Toolchain-Gate: ohne vollständiges macOS gibt es keinen legitimen xcodebuild- / codesign- / TestFlight-Pfad. Überverkaufte gemeinsame macOS-Hosts jitteren Speicher und Disk unter parallelen Builds und kollabieren „theoretische Parallelität“.

ZovCloud hält jeden Host als dedizierten physischen Mac mini M4 (10 Kerne, 16 GB, 1 Gbps dedizierte Bandbreite, volle Admin-Rechte). Wenn Inter-Host-Geschwindigkeit nötig ist, Thunderbolt-5-Verknüpfung in derselben Region für 80 Gbps physischen Pfad aktivieren; Bereitstellung 1–5 Minuten nach Zahlung, Regionen Singapur, Japan (Tokio), Korea (Seoul), Hongkong und USA Ost. Browser-VNC, SSH und Drittanbieter-VNC funktionieren; Runner-Setup wie beim Einzelhost – nur Bridge-IPs für Sync ergänzen.

  1. 01
    Parallele Aufteilung zuerst definieren

    Nach App / Scheme / Plattform schneiden; prüfen, dass jede Maschine ein unabhängiges Archive-Target hat, bevor der Cluster dimensioniert wird.

  2. 02
    Gleichregions-Hosts mit TB5 bestellen

    Auf der Bestellseite mehrere Instanzen in einer Region wählen und Thunderbolt-5-Verknüpfung aktivieren; Details unter Preis-Add-ons.

  3. 03
    Bridge-IPs binden, dann Runner anbinden

    Nach Bereitschaftsprüfung Cache-Sync und Artefaktsammlung über TB-Subnetz; öffentlichen Port für git, Object Storage und Releases reservieren.

Thunderbolt-5-Verknüpfung löst wie man Daten schnell zwischen echten Macs bewegt – nicht wie man eine Maschine für drei ausgibt. Wenn Matrix-Builds und Cache-Sync die Wandzeit schon dominieren, schlagen dedizierte Cluster in derselben Region mit 80 Gbps oft längere Einzelhost-Queues; bei einer App mit seltenen Releases ist ein stabiler M4-Dediziertknoten meist die klügere Investition.

Dedizierte Hardware · Lieferung 1–5 Min.

Parallele Xcode-Builds – mit TB5-Mehrmaschinen-Cluster

Mehrere Mac mini M4 per Thunderbolt 5 vernetzen: 80 Gbps für Build-Farmen und verteilte CI/CD – ab $19,8/Tag pro Node.

$19,8 / Tag ab
ChipApple M4 · 38 TOPS
CPU10 Kerne dediziert
Speicher16 GB Unified
InterconnectTB5 · 80 Gbps
SLA99,9 %
Lieferung1–5 Minuten