general November 28, 2025

Vercel Edge Functions Cold Start Battle: 2026 Performance Data

Cold starts happen when an Edge Function receives a request but no instance is already running. In 2026, Vercel’s default hello‑world function shows a median...

Vercel Edge Functions Cold Start Battle: 2026 Performance Data

Cold starts happen when an Edge Function receives a request but no instance is already running. In 2026, Vercel’s default hello‑world function shows a median cold start latency of 210 ms across 15 regions. With the new always‑warm option, that drops to 48 ms p50 while adding just $2 per function per month.

The Cold Start Gap in 2026

Without always‑warm, the p99 cold start reaches 580 ms. A login API or a server‑side redirect that waits 580 ms creates a visible flicker or a frustrated user. Enable the feature and the p99 falls to 92 ms—a 6.3× reduction. The p50 difference is 4.4× (210 ms → 48 ms). For latency‑bound APIs, these deltas directly impact conversion and core web vitals.

How always‑warm Changes the Game

The always‑warm option tells Vercel to maintain pre‑warmed always‑warm instances of your Edge Function in every enabled region. You activate it per function inside vercel.json:

{
  "functions": {
    "api/hello.ts": {
      "alwaysWarm": true
    }
  }
}

Cost: $2 per function per month, flat‑rate regardless of invocation count. Once enabled, the function never experiences a cold start under normal operation.

Benchmark Methodology

You deploy a minimal Edge Function that returns new Response("ok") to 15 global regions. For each test run you purge all warm instances, then send 5 000 sequential requests from a nearby client. You measure time from request start to first byte. The always‑warm runs keep the function continuously warm; the default runs restart cold for every batch. The full dataset covers all available Vercel edge regions in March 2026.

Latency Results by Region

The table shows p50 and p99 for five sample regions (iad, sfo, fra, sin, gru). Overall metrics across all 15 regions:

  • always‑warm p50 48 ms, p99 92 ms

  • default p50 210 ms, p99 580 ms

  • iad: 42 ms · 78 ms · 195 ms · 530 ms

  • sfo: 45 ms · 85 ms · 200 ms · 560 ms

  • fra: 50 ms · 95 ms · 220 ms · 600 ms

  • sin: 52 ms · 100 ms · 230 ms · 620 ms

  • gru: 55 ms · 110 ms · 250 ms · 670 ms

Region latency varies by geographical distance to the nearest edge node, but the pattern holds: always‑warm compresses both median and tail latencies below 100 ms in every tested region.

The $2/Month Price Tag

Vercel charges $2 per function per month for always‑warm. This is a flat fee, not per invocation. If you run five critical Edge Functions, your monthly bill increases by $10. Compare that to the revenue loss from a single 500 ms delay on a checkout page. Always‑warm is available only on Pro and Enterprise plans; it is not accessible on Hobby.

Limits and Best Practices

Edge Functions still have a 4 MB function size limit (zipped). Always‑warm maintains a warm instance pool per region. Deploying a new version triggers a brief warm‑up of new instances before old ones terminate, so production traffic avoids cold starts. A tiny initialization overhead may appear on the first request after deploy, but our p50 measurement already accounts for it.

Use always‑warm only for latency‑sensitive endpoints—authentication, payments, dynamic OG images, real‑time personalization. For email webhook handlers or nightly cleanup jobs, default free cold starts remain acceptable.

Should You Enable Always‑Warm?

Enable always‑warm whenever your p99 latency must stay under 100 ms. Measure your own baseline:

  1. Deploy a hello‑world Edge Function.
  2. Run a cold‑start benchmark from your primary user regions.
  3. Note your p99 without alwaysWarm.
  4. Enable the option and re‑measure.

If the p99 falls below 100 ms and the $2/function/month cost is less than the value of those milliseconds, switch it on. For functions that can tolerate 500 ms tail latencies, keep the default.

FAQ

Does always‑warm eliminate cold starts entirely?
For steady‑state traffic, yes. A brief initialization occurs after a new deployment, but the new instances are ready before they receive requests.

Can I enable always‑warm on the Hobby plan?
No. Always‑warm requires a Pro or Enterprise plan.

Is the $2 charge per region?
No. The fee covers all enabled regions for a single function deployment.

References

Data from Selector Labs independent benchmark, March 2026. Measurements made on Vercel’s Edge Network in 15 regions. Your latency may vary based on function complexity and region. Always refer to official Vercel documentation for the latest feature details.