
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
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.
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.
- 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
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
- Always-on keeps Machines running, so latency holds near 61 ms warm (independently measured) with no cold start.
- That is $3.88/mo for 2 × shared-cpu-1x at $1.94 each, billed per second whether or not traffic arrives.
- Use scale-to-zero for low-traffic or preview apps and always-on (min one Machine) for latency-sensitive production.
Latency independently measured by OpenStatus; cost from Fly.io's published per-second preset prices. Verify against your own workload.
Measured latency: scale-to-zero vs always-on
| Configuration | Metric | Value | Sample |
|---|---|---|---|
| Always-on (min 1) | Average | 61 ms | OpenStatus production, 12,076 pings |
| Always-on (min 1) | p95 | 198 ms | OpenStatus, Feb 2024 |
| Always-on (min 1) | p99 | 327 ms | OpenStatus, Feb 2024 |
| Scale-to-zero | Average | 1,471 ms | cold-start dominated, 10,952 pings |
| Scale-to-zero | p99 | 2,547 ms | OpenStatus, Feb 2024 |
| Scale-to-zero | Machine cold boot | ~1,513 ms | proxy-measured start time |
| Both | Uptime | 100% | 0 fails / 10,952 pings |
Auto-stop, scaling and concurrency
| Capability | Value | Notes |
|---|---|---|
| Auto-stop / auto-start | Fly Proxy, traffic-driven | off | stop | suspend; starts on the next request |
| Warm floor | min_machines_running | Keeps N Machines running in the primary region only |
| Stop loop | <=1 Machine / region / pass | Runs every few minutes |
| Concurrency limits | soft_limit / hard_limit | Per Machine; type connections or requests |
| Horizontal scaling | fly scale count / clone | Proxy never creates or destroys Machines itself |
| Vertical scaling | fly machine update | --vm-memory / --vm-size on an existing Machine |
Machine presets and prices
| Preset | vCPU / RAM (min) | Price |
|---|---|---|
| shared-cpu-1x | 1 shared / 256 MB | $1.94/mo |
| shared-cpu-2x | 2 shared / 512 MB | $3.89/mo |
| shared-cpu-4x | 4 shared / 1 GB | $7.78/mo |
| shared-cpu-8x | 8 shared / 2 GB | $15.55/mo |
| performance-1x | 1 perf / 2 GB | $31.00/mo |
| performance-4x | 4 perf / 8 GB | $124.00/mo |
| performance-16x | 16 perf / 32 GB (max 128 GB) | $496-976/mo |
| Stopped Machine | rootfs 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
| Source | What was checked | Last checked |
|---|---|---|
| Fly Official | Official product page | July 10, 2026 |
| Fly About Pricing | Pricing and plans | July 10, 2026 |
| Fly Launch Autostop Autostart | Launch Autostop Autostart | July 10, 2026 |
| Fly Machines Overview | Machines Overview | July 10, 2026 |
| Fly Security | Security and compliance | July 10, 2026 |
| OpenStatus | Independent latency benchmark | July 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.
Explore Fly.io
Every page on Fly.io in one place, you are on performance.
