Gantry reduces repeated image downloads from an origin registry by fetching content on a bounded set of nodes and distributing the verified bytes between cluster peers.

In a 1,000-node AKS benchmark, every node started one pod using the same cold 40 GiB, 40-layer image. Comparing the mean of two direct-origin reference runs with the mean of three Gantry chair-design runs:

  • ACR traffic decreased by 99.2%, from 47.431 TB to 377.833 GB.
  • Pod-start P50 decreased by 19.3%, from 788.661 seconds to 636.100 seconds.
  • Pod-start P95 decreased by 24.5%, from 943.467 seconds to 712.667 seconds.
  • Pod-start P100 decreased by 47.7%, from 1,537.583 seconds to 803.933 seconds.
  • All 1,000 pods started successfully in every Gantry chair-design run.

The direct-origin and chair-design measurements are separate run sets from the same benchmark family. They use the same cluster scale, rollout shape, image size, and latency definition, but they are not a paired A/B run collected in one benchmark execution. Treat the comparison as representative measured performance, not as a guarantee for every registry, image, or cluster.

Results

Lower latency is better.

MetricDirect origin, two-run meanGantry chair design, three-run meanChange
ACR Private Endpoint traffic47.431 TB377.833 GB99.203% lower
Pod-start P50788.661s636.100s19.344% faster
Pod-start P95943.467s712.667s24.463% faster
Pod-start P1001,537.583s803.933s47.714% faster

The latency values cover the complete pod-start path: image download, containerd verification and unpacking, and container creation. They are not network-transfer-only measurements.

Source registry and peer traffic

The three Gantry runs produced the following mean traffic:

MeasurementMeanRange
ACR Private Endpoint traffic377.833 GB375.0-382.2 GB
Gantry-accounted origin traffic346.467 GB343.6-352.2 GB
Peer traffic served inside the cluster42.633 TB42.6-42.7 TB

Compared with the 47.431 TB direct-origin reference mean, Gantry-accounted origin traffic decreased by 99.270%.

The peer traffic is intentional. Gantry moves the image payload between nodes instead of repeatedly transferring it from the origin registry. The result is a reduction in origin-registry and Private Endpoint traffic, not a reduction in the total bytes required to place and unpack the image on every node.

ACR wire traffic was approximately 9% higher than the payload bytes accounted for by Gantry metrics. The comparison therefore uses ACR Private Endpoint traffic as the customer-visible source-registry measurement.

Run-to-run consistency

Direct-origin reference runs

RunACR trafficP50P95P100
1,000 nodes, sample 147.296 TB682.725s821.209s1,422.461s
1,000 nodes, sample 247.566 TB894.597s1,065.724s1,652.704s

Gantry chair-design runs

RunCompleted podsACR trafficGantry origin trafficPeer trafficP50P95P100
chair-design-1125071,000/1,000382.2 GB352.2 GB42.7 TB633.0s714.8s851.9s
chair-design-0401271,000/1,000376.3 GB343.6 GB42.6 TB635.0s711.2s796.2s
chair-design-0305171,000/1,000375.0 GB343.6 GB42.6 TB640.3s712.0s763.7s

Across the three Gantry runs, P95 stayed within a 3.6-second band while every run completed all 1,000 pods.

Benchmark method

ItemConfiguration or source
Cluster1,000-node AKS cluster
WorkloadOne pod per node starting concurrently
ImageCold 40 GiB image with 40 layers
Direct-origin pathEach node pulls from a private Azure Container Registry
Gantry pathA bounded set of nodes pulls from ACR and serves content to peers
ACR trafficMicrosoft.Network/privateEndpoints/PEBytesIn over an isolated phase window
Pod-start latencyAKS audit timestamp from pod creation to first container-started status
Peer trafficPer-pod gantry_peer_serve_bytes_total{kind} counter deltas
Gantry origin trafficGantry origin-byte counter deltas

Before each cold phase, the benchmark removed prior workload images and verified that matching containerd image records were absent. Collection waited for one completed pod on every target node, zero Gantry in-flight work, and stable counters. Missing or physically implausible telemetry invalidated a run instead of being treated as zero.

How to interpret the results

  • The benchmark intentionally stresses origin distribution with a very large image and a simultaneous fleet-wide rollout.
  • Smaller images, staggered deployments, warm node caches, different VM sizes, and different registry locations can produce different results.
  • Image unpacking is a material part of pod startup. Faster delivery does not remove the per-node CPU and disk work required to unpack 40 layers.
  • ACR traffic and Gantry traffic come from different measurement systems. ACR reports Private Endpoint wire bytes, while Gantry reports payload bytes.
  • The measured reduction applies to origin traffic. Peer distribution still carries approximately one image payload to every node.

Source data

The full engineering datasets, additional scales, cross-region runs, and latency decomposition remain available in the repository: