Network latency is bounded by the speed of light — a request from a user in São Paulo to a server in Singapore must traverse approximately 18,000km of fibre, which takes at minimum 120ms at the speed of light in glass, often 200–400ms in practice when routing overhead is included. ISO-25010 time-behaviour cannot be met for geographically mismatched deployments without a CDN, and for hosting platforms that don't include built-in CDN (Fly.io single region, Railway, bare VPS), the chosen region directly determines TTFB for non-local users. A US-focused marketing site deployed to ap-southeast-1 will consistently fail the 800ms TTFB threshold for US visitors, regardless of how well the application itself is optimised.
Low because region mismatch only affects non-CDN hosting configurations, and the fix (switching region or adding a CDN) is straightforward — the scope is limited to non-standard deployment setups.
For Fly.io, update primary_region in fly.toml to the region closest to your target audience, or add replica regions for multi-geography coverage.
# fly.toml
[build]
# US East Coast — optimal for US-focused audiences
primary_region = "iad"
# Add replicas for global audiences:
# fly scale count 2 --region iad,lhr
# iad = Washington DC, lhr = London, nrt = Tokyo, syd = Sydney
For Railway and Render: select the region nearest your primary user base in the deployment settings. For the highest ROI, migrate to Vercel or Netlify — their global CDNs eliminate region selection entirely by serving from the nearest edge node to each visitor automatically.
ID: marketing-page-speed.infrastructure.ttfb-server-location
Severity: low
What to look for: For hosting platforms that require regional selection (Fly.io, Railway, Render, custom VPS), check whether the selected region matches the target audience. This only matters when CDN is NOT in use — CDN-based platforms (Vercel, Netlify, Cloudflare) are globally distributed and not affected. Check: (1) fly.toml for primary region (primary_region), (2) Railway/Render config for region selection, (3) any region-specific environment variable references, (4) hosting platform comments in config files. Count all instances found and enumerate each.
Pass criteria: If using a CDN-based platform, this check passes automatically. If using a region-specific origin (VPS, Fly.io, Railway), the region matches the primary target audience. A US-focused marketing site is deployed to a US region; a European site to EU. At least 1 implementation must be confirmed.
Fail criteria: A US-focused marketing site is deployed to ap-southeast-1 (Singapore), adding 200-400ms TTFB for US visitors.
Skip (N/A) when: Project uses Vercel, Netlify, or Cloudflare Pages (globally distributed). Signal: vercel.json, netlify.toml, or wrangler.toml detected as hosting.
Detail on fail: "fly.toml primary_region is 'sin' (Singapore). If target audience is primarily US/EU, TTFB for those users will be 200-400ms above optimal. Consider adding edge replicas or switching to a CDN-native platform."
Remediation: Match region to audience:
# fly.toml — US East Coast for US audience
[build]
primary_region = "iad" # Washington DC
# Or add multiple regions for global coverage
[[services.ports]]
# fly scale count 2 --region iad,lhr (US + London)
Alternatively, move to Vercel or Netlify which handle global distribution automatically.