Choosing a European server location is usually decided by habit — Frankfurt or Amsterdam, because that is where everyone puts things. Habit is not a bad default. It is just rarely examined, and for a meaningful minority of workloads it is the wrong answer by a wide enough margin to matter.
Here is how to make the decision on evidence: what the physics allows, what the interconnection data says, and which non-technical factors actually decide it.
Start with the physics, because it is not negotiable
Light in fibre travels at roughly 200 km per millisecond. That gives every route a hard floor: real-world latency is always higher, never lower. Great-circle distances from Frankfurt, with the round-trip floor:
| Route from Frankfurt | Distance | RTT floor |
|---|---|---|
| Amsterdam | 363 km | 3.6 ms |
| Paris | 478 km | 4.8 ms |
| Milan | 518 km | 5.2 ms |
| Vienna | 598 km | 6.0 ms |
| Warsaw | 890 km | 8.9 ms |
| Dublin | 1,088 km | 10.9 ms |
| Sofia | 1,389 km | 13.9 ms |
| Madrid | 1,446 km | 14.5 ms |
| Bucharest | 1,454 km | 14.5 ms |
| Ashburn, Virginia | 6,549 km | 65.5 ms |
Read the top of that table honestly: within the Frankfurt–Amsterdam–Paris–Milan quadrilateral, the physics is nearly irrelevant. A few milliseconds of floor is not what makes a page slow. Anyone claiming a dramatic user-experience difference between Frankfurt and Amsterdam for a Western European audience is selling something.
Read the bottom of it just as honestly. Frankfurt to Ashburn cannot be faster than 65 ms round trip, ever, and a chatty application making twenty sequential round trips turns that floor into 1.3 seconds of unavoidable wait. That is where placement genuinely decides the experience.
Then look at interconnection
Distance sets the floor; interconnection decides how close you get to it. PeeringDB publishes the networks present at each internet exchange, which is the best free proxy for how directly a location reaches the rest of the internet.
Totals across all exchanges listed in each city, retrieved 7 September 2026 — a network present at two exchanges in one city is counted twice, so read these as relative density rather than unique network counts:
| City | Exchanges | Network participations |
|---|---|---|
| Frankfurt | 28 | 3,725 |
| Amsterdam | 27 | 3,676 |
| Paris | 13 | 1,724 |
| Warsaw | 8 | 1,625 |
| Marseille | 5 | 924 |
| Dublin | 6 | 725 |
| Milan | 5 | 693 |
| Madrid | 8 | 686 |
| Sofia | 8 | 396 |
| Vienna | 3 | 376 |
| Bucharest | 5 | 205 |
Frankfurt and Amsterdam are in a class of their own, which is why the habit exists. But notice Warsaw at 1,625 — substantially denser than Milan or Madrid, and a fact that surprises people who file all of Central Europe under "emerging".
These numbers drift. Date them, and re-check before making a decision that depends on them.
The decision, by audience
| Your audience | Location | Why |
|---|---|---|
| Pan-European, no strong centre | Germany or Netherlands | Maximum interconnection; everything else is within ~15 ms |
| DACH, and CEE or the Balkans | Austria | Vienna sits between both; 6 ms to Frankfurt, 8 ms to Sofia |
| Poland, Baltics, Nordic edge | Poland | Warsaw's density is the CEE outlier; 8 ms to Stockholm's floor |
| Southeast Europe, Turkey, low-cost EU capacity | Bulgaria | Sofia is 5 ms from Istanbul's floor and cheap |
| Iberia, or Latin America | Spain | Madrid is 5 ms from Lisbon and the shortest EU path to LatAm |
| Italy, Southern Europe | Italy | Milan is Southern Europe's interconnection hub |
| Africa, the Middle East, Asia via subsea | France | Marseille lands the cables; Paris serves France itself |
| English-speaking EU jurisdiction, transatlantic | Ireland | Common-law EU member, 4.6 ms floor to London |
| Cost-sensitive EU capacity, Balkans | Romania | Established low-cost EU market |
| Primarily US users | USA | Ashburn is the densest datacentre market on earth |
The factors that actually decide it
For most businesses, the network is not the binding constraint. These are.
Where the data is allowed to live. Public-sector contracts, health data and some financial workloads carry explicit residency requirements. This is a hard constraint and it outranks every millisecond in the table above. If a customer contract says the data stays in Germany, the decision is made.
Where your other systems are. If the database is in Amsterdam, the application server belongs in Amsterdam. Inter-service latency compounds across every request, while user-facing latency is paid once. Splitting a tightly-coupled stack across two countries to be "closer to users" reliably makes things slower.
Where support and staff are. A machine in a timezone where nobody is awake is a machine with a slower mean time to repair.
Cost. Capacity, power and cooling are not priced identically across Europe, and the difference between the cheapest and most expensive markets is material at scale.
What a CDN already solves. If most of the payload is static, a CDN puts it near users regardless of origin, and the origin's location matters only for the uncached path. Optimising origin placement for a workload that is 90% cacheable is effort spent in the wrong place.
A test that beats a table
Any table, including the one above, is a starting hypothesis. The real measurement takes an afternoon:
- Pull the geographic distribution of your actual users from analytics — not the market you intend to enter.
- Weight the candidate cities by that distribution against the distance table.
- Take a short-term server in the top two candidates and measure real round-trip times from the regions that matter, at the hours that matter.
- Measure the uncached, full-request path — not an ICMP ping. Ping measures the network; users experience the application.
- Decide, and write down why, so the decision can be revisited when the audience changes.
Step 4 is where most location comparisons quietly go wrong. A 10 ms difference in ping is invisible next to a 300 ms difference in time to first byte caused by an unindexed query.
When to use more than one
Multi-region is a real answer and an expensive one. It is justified when a genuinely global audience is split roughly evenly across continents, when regulation requires data to stay in two places, or when the uptime requirement exceeds what one facility can promise.
It is not justified because a table said 14 ms. Two locations means two of everything — deployments, backups, monitoring, database replication and the consistency problems that come with it. Most teams that add a second region for latency get a slower, more fragile system with a bigger bill. Start in one place, measure, and add a second only when a specific number forces it.
Every NexonHost dedicated server ships on the same terms across all twelve locations — unmetered bandwidth, in-house DDoS protection, NVMe storage — so the location decision stays a decision about audience and jurisdiction rather than about which country gets the good hardware.
Related reading: Madrid vs Frankfurt for Iberian and LatAm traffic, Vienna vs Sofia for CEE and Southeast Europe, and Ashburn for European teams serving US East.
Sources
- PeeringDB internet exchange API, retrieved 7 September 2026 — exchange counts and network participations per city, summed across all exchanges listed in that city.
- Distances are great-circle calculations between city centres; round-trip floors are derived at 200 km/ms propagation in fibre and are theoretical minimums, not measured latency.




