Photo by Sora Shimazaki from Pexels
You tuned your prompt, picked a fast model, and your chat feature feels snappy, in your local tests. Then a support ticket arrives from a user in São Paulo reporting three-second waits, while your Tokyo customers see sub-second responses for the same request. The difference is not the model; it is the network path, the inference region, and a handful of routing decisions that most teams never measure until something breaks.
This article breaks down the concrete reasons LLM API latency differs across regions, gives you a repeatable process for measuring it, and shows how to set up alerts so you catch degradation before your users do.
TL;DR
- LLM API latency is dominated by three factors: physical network distance, provider inference region placement, and routing-layer overhead (especially with aggregators like OpenRouter).
- Time to First Byte (TTFB) and Time to First Token (TTFT) can differ by 200–800 ms between regions for the same model and prompt.
- Aggregate average dashboards hide regional outliers, you need per-region baselines.
- Reducing output tokens is one of the most effective latency optimizations you can apply at the application layer.
- Synthetic probes from multiple regions are the only reliable way to separate your stack's latency from the provider's.
The Anatomy of an LLM API Call
Before you can diagnose regional variance, you need a shared vocabulary for where time is spent. A single chat-completion request travels through several distinct phases, and each phase is affected differently by geography.
Key latency segments
- DNS resolution + TCP/TLS handshake, Typically 10–50 ms within the same continent, but can exceed 150 ms when crossing oceans. TLS 1.3 helps, yet the round-trip cost is still proportional to physical distance.
- Request transit (upload), The serialized prompt payload travels from your server to the provider's edge. For a 4 KB prompt this is negligible; for a 100 KB context window it starts to matter on high-latency links.
- Routing and queue time, If you call an aggregator such as OpenRouter, the request is inspected, authenticated, and forwarded to the upstream provider. This adds a hop, and sometimes a continent change.
- Inference (prefill + decode), The GPU work. Prefill processes your input tokens in parallel; decode generates output tokens sequentially. Decode dominates wall-clock time for longer completions.
- Response transit (download / streaming), Tokens stream back. Each Server-Sent Events chunk incurs a round-trip's worth of jitter, so streaming latency compounds over distance.
Why Geography Matters More Than You Think
Provider inference regions are not evenly distributed
OpenAI and other major providers concentrate GPU capacity in a small number of data-center regions, primarily in the US (East and West) and Western Europe. If your users are in Southeast Asia, the Middle East, or South America, every request must cross one or more ocean cables before it reaches an inference cluster. That adds a fixed latency floor that no prompt optimization can remove.
Aggregator routing adds a hidden hop
When you use an aggregator like OpenRouter, your request may land on an aggregator edge node in one region, get forwarded to a provider endpoint in another, and then stream back through the aggregator. In the best case this adds 10–30 ms. In the worst case, when the aggregator's edge and the provider's inference region are on different continents, it can add 150 ms or more to TTFT alone.
CDN and edge caching do not help for inference
Unlike static assets, LLM completions cannot be cached at the edge (every response is unique). The performance tricks that work for web applications, CDN PoPs, edge compute, static asset caching, are irrelevant for inference traffic. The only way to reduce network latency for LLM calls is to move the inference closer to the user or to reduce the amount of data that must traverse the wire.
"Generating tokens is almost always the highest latency step when using an LLM: as a general heuristic, cutting 50% of your output tokens may cut ~50% your latency.">, Latency optimization
This quote highlights a critical point: while network distance creates a fixed latency floor, the decode phase is where most wall-clock time is spent. Optimizing output length is the single highest-leverage change you can make at the application layer, and it compounds with regional latency because fewer tokens means fewer streaming chunks traversing a slow link.
The five biggest contributors to regional variance
| # | Factor | Typical impact on TTFT | Controllable? |
|---|---|---|---|
| 1 | Physical distance to inference region | 50–300 ms | Partially (region selection) |
| 2 | Aggregator routing hop | 10–150 ms | Yes (direct vs. aggregator) |
| 3 | Provider load balancing / queue depth | 20–500 ms | No (provider-side) |
| 4 | Peering quality between cloud providers | 10–80 ms | Partially (cloud region choice) |
| 5 | TLS handshake overhead | 10–60 ms per extra round-trip | Partially (connection reuse) |
How to Measure Regional Latency Properly
Measuring from a single location gives you a single data point, not a picture. To understand regional variance you need synthetic probes running the same standardized prompt from multiple geographic locations on a consistent schedule. Here is a step-by-step process to set this up.
Step-by-step: building a regional latency baseline
- Define a standardized probe request. Pick a fixed model (e.g.,
gpt-4o-mini), a fixed prompt (short, deterministic, something like "Respond with exactly one sentence summarizing today's weather in London"), and a fixedmax_tokensvalue. This eliminates variable decode time from your measurements. - Select probe regions that match your user base. If you serve users in Europe, North America, and Asia-Pacific, you need at least one probe in each. Ideally, cover the regions where you have the most traffic and the regions where you suspect the worst latency.
- Run probes on a fixed schedule. Daily probes are the minimum for trend detection. Hourly probes catch intra-day load patterns (provider GPUs are busier during US business hours, for example).
- Record TTFB and TTFT separately. TTFB tells you how fast the network and provider responded with the first byte of data. TTFT tells you when the first usable token arrived. The gap between them reveals provider-side overhead (authentication, queue wait, prefill).
- Compute per-region baselines over a rolling window. A seven-day rolling P50 and P95 per region gives you a stable baseline. Any probe result that exceeds the P95 by more than 20% is a candidate for an alert.
- Compare direct provider vs. aggregator. Run the same probe against both OpenAI direct and OpenRouter endpoints. The delta isolates the aggregator's routing overhead for each region.
- Automate alerting on deviation. Set thresholds relative to each region's own baseline, not a global average. A 400 ms TTFT might be normal for a probe in Mumbai but a serious regression for one in Virginia.
Practical Checklist: Reducing Regional Latency Impact
Use this checklist when you are shipping an LLM-powered feature to a global audience:
Your progress is saved automatically in your browser.
Common Patterns in Regional Latency Data
After monitoring LLM API latency across multiple regions over time, several recurring patterns emerge that are worth knowing about:
US East consistently wins
For both OpenAI and OpenRouter, probes originating from US East regions (Virginia, Ohio) almost always report the lowest TTFT. This is unsurprising, the majority of GPU inference capacity is physically located in US East data centers.
Europe is close but not equal
Western European probes (Frankfurt, London, Paris) typically see TTFT values 40–120 ms higher than US East for the same request. The variance within Europe is small, suggesting that the bottleneck is the transatlantic hop, not intra-European routing.
Asia-Pacific and South America show the widest variance
Probes from Sydney, Tokyo, Mumbai, and São Paulo show the highest TTFT values and the widest variance between measurements. This is consistent with longer network paths and fewer direct peering arrangements between these regions and US-based inference clusters.
Aggregator overhead is not constant
The latency delta between OpenRouter and OpenAI direct is not a fixed number. It varies by region and by time of day, suggesting that aggregator routing decisions and load balancing play a role. In some regions, OpenRouter occasionally routes to a closer inference endpoint than the default OpenAI region, resulting in lower latency than direct, though this is the exception, not the rule.
Frequently Asked Questions
gpt-4o-mini vs. gpt-4o) have faster prefill and decode times, which reduces the inference portion of latency. The network portion remains the same, but since inference is typically the dominant component, a smaller model can meaningfully reduce total latency, especially for users in distant regions where the fixed network floor is already high.Start Tracking Regional Latency Today
If you are shipping LLM features to users outside a single region, you need per-region latency visibility, not just aggregate averages. Observinio monitors OpenRouter and OpenAI endpoints from 21 global regions every day, compares results against per-region baselines, and sends you an email alert when latency degrades. Check the live status page to see current data, or visit /contact to set up alerts for your team.
Additional Resources
- Latency optimization | OpenAI API - This guide covers the core set of principles you can apply to improve latency across a wide variety of LLM-related use cases, including streaming, prompt design, and model selection.
- API Latency in LLM Apps: Causes & How to Fix It - Explores common causes of high API latency in LLM apps including autoregressive generation, cold starts, model loading, and multi-stage RAG pipeline overhead.
- ML and LLM Inference Latency: 10 techniques - Jam with AI - Covers ten practical techniques for reducing inference latency in production ML systems, from optimizing the forward pass to minimizing I/O bottlenecks.
