Fly.io performance
★★★★ 4.4 CE

Fly.io Performance: Benchmarks, Latency & Limits 2026

Fly.io runs Firecracker microVMs across 18 regions, billed per second from $1.94/mo. Auto-stop idles Machines; tests saw a ~1.5s cold start against 61ms.

Fly.io Performance verdict

Verified today·6 sources checked

Fly.io runs Firecracker microVMs on its own hardware across 18 regions.

Billed per second from $1.94 a month for a shared-cpu-1x up to $496 and beyond for a performance-16x. Its signature is auto-stop: idle Machines stop and restart on traffic.

How to size it

For latency-sensitive production, set min_machines_running to at least 1 in the primary region to dodge the ~1.5s cold start, and accept the per-second cost that comes with staying warm. For preview, internal or bursty apps, leave auto-stop on and pay near zero while idle. Size the preset to the working set, because every running second is billed.

Honest limits
  • The 1,471ms benchmark is the scale-to-zero default. Setting min_machines_running to 1 for always-on drops it to 61ms, but costs the preset price continuously.
  • Fly Proxy never creates or destroys Machines, so the max running count is whatever you pre-created with fly scale count or fly machine clone.
  • Suspended Machines resume from a memory snapshot faster than stopped ones, though still slower than always-on, and Fly.io publishes no numeric SLA.
Always-on avg (independent)
61 ms
Scale-to-zero avg
1,471 ms
Cold boot
~1.5 s
Cheapest Machine
$1.94/mo
Regions
18
View sources

This page covers how fast Fly.io runs and how it scales, and what it costs. Region coverage lives on its own page.

Plan Fly.io auto-stop and machine cost

Measured latency: scale-to-zero vs always-on

ConfigurationMetricValueSample
Always-on (min 1)Average61 msOpenStatus production, 12,076 pings
Always-on (min 1)p95198 msOpenStatus, Feb 2024
Always-on (min 1)p99327 msOpenStatus, Feb 2024
Scale-to-zeroAverage1,471 mscold-start dominated, 10,952 pings
Scale-to-zerop992,547 msOpenStatus, Feb 2024
Scale-to-zeroMachine cold boot~1,513 msproxy-measured start time
BothUptime100%0 fails / 10,952 pings

Auto-stop, scaling and concurrency

CapabilityValueNotes
Auto-stop / auto-startFly Proxy, traffic-drivenoff | stop | suspend; starts on the next request
Warm floormin_machines_runningKeeps N Machines running in the primary region only
Stop loop<=1 Machine / region / passRuns every few minutes
Concurrency limitssoft_limit / hard_limitPer Machine; type connections or requests
Horizontal scalingfly scale count / cloneProxy never creates or destroys Machines itself
Vertical scalingfly machine update--vm-memory / --vm-size on an existing Machine

Machine presets and prices

PresetvCPU / RAM (min)Price
shared-cpu-1x1 shared / 256 MB$1.94/mo
shared-cpu-2x2 shared / 512 MB$3.89/mo
shared-cpu-4x4 shared / 1 GB$7.78/mo
shared-cpu-8x8 shared / 2 GB$15.55/mo
performance-1x1 perf / 2 GB$31.00/mo
performance-4x4 perf / 8 GB$124.00/mo
performance-16x16 perf / 32 GB (max 128 GB)$496-976/mo
Stopped Machinerootfs storage only$0.15/GB/mo

Fly.io reliability and architecture

  • Fly.io runs containers as lightweight Firecracker virtual machines on its own hardware around the world, and tenants never share kernels
  • Fly.io is SOC 2 Type 2 certified, its hardware runs in ISO 27001 datacenters, and it signs BAAs
  • The platform ships built-in A-grade TLS termination via Let's Encrypt, private networking over WireGuard, and hardware isolation
  • Fly.io runs a dedicated full-time security team, the largest in its product engineering org, with third-party pentests by Atredis, Doyensec and Tetrel
  • Fly Volumes are encrypted with keys held in redundant secret-storage systems
  • Once a Machine exists, starting it from stopped takes well under a second, and a suspended Machine (memory snapshot) resumes faster still

Fly.io latency benchmarks, independently measured

  • OpenStatus independently monitored a Hono server on Fly.io every 10 minutes from six global locations over two weeks in February 2024
  • With auto-stop on and min_machines_running at zero (free-tier defaults), Fly.io averaged 1,471ms with a 2,547ms p99 at 100% uptime, the cold start dominating
  • The same app with min_machines_running at one (always-on) averaged 61ms with a 198ms p95, competitive with the fastest providers tested
  • The slow numbers came entirely from cold starts: TTFB was about 1,470ms while DNS, connection and TLS were each single-digit milliseconds
  • Fly Proxy auto-stops idle Machines and auto-starts them on the next request, with auto_stop_machines defaulting to stop and min_machines_running to zero in a new fly.toml
  • Starting a Machine from a suspended state, which snapshots memory, is faster than starting from a fully stopped state

Fly.io Performance FAQ

How fast is Fly.io, and what do independent benchmarks show?

It depends entirely on auto-stop. OpenStatus independently measured a Hono server every 10 minutes from 6 global probes in Feb 2024. With scale-to-zero defaults it averaged 1,471ms and a 2,547ms p99, because each idle Machine pays a ~1.5s cold start. With min_machines_running set to 1 for always-on, the same app averaged 61ms with a 198ms p95. The network is fast; the cold start is the whole gap.

How does auto-stop / scale-to-zero work on Fly.io?

Fly Proxy stops Machines idle for several minutes, controlled by auto_stop_machines set to off, stop or suspend, and starts them again on the next request through auto_start_machines. The stop loop runs every few minutes and stops at most one Machine per region per pass. The proxy never creates or destroys Machines. You pre-create capacity with fly scale count, and min_machines_running keeps a warm floor in the primary region.

What do Fly Machines cost?

Per second while running. It starts at a shared-cpu-1x with 1 shared vCPU and 256 MB at $1.94 a month. A performance-16x with 16 vCPUs and 32 GB runs $496 a month, or $976 with 128 GB. Extra RAM is about $5 per GB per 30 days. A stopped Machine costs only $0.15 per GB per month for its root filesystem, which is what makes scale-to-zero cheap for idle apps.

How do I avoid cold starts on Fly.io?

Set min_machines_running to at least 1 so the primary region always keeps a warm Machine, which is how the independent benchmark hit 61ms. Note that this only applies to the primary region, not the others. Alternatively use auto_stop_machines = suspend, which snapshots memory and resumes faster than a full stop, though still slower than always-on.

What is Fly.io's infrastructure and security posture?

Fly.io runs Firecracker microVMs on its own hardware in ISO 27001 datacenters, never sharing kernels between tenants. It is SOC 2 Type 2 certified, signs BAAs, and runs a full-time security team with third-party pentests from Atredis, Doyensec, Tetrel. It ships built-in TLS, WireGuard private networking and encrypted volumes. It does not publish a numeric uptime SLA.

Sources & verification

Verified by ComparEdgeMethod: Vendor docs, official pages, and selected independent sources
SourceWhat was checkedLast checked
Fly OfficialOfficial product pageJuly 10, 2026
Fly About PricingPricing and plansJuly 10, 2026
Fly Launch Autostop AutostartLaunch Autostop AutostartJuly 10, 2026
Fly Machines OverviewMachines OverviewJuly 10, 2026
Fly SecuritySecurity and complianceJuly 10, 2026
OpenStatusIndependent latency benchmarkJuly 10, 2026

Every fact on this Fly.io page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.