Congestion notes · Barcelona
Barcelona: the network is congested, not your server
Every February the site 'goes slow' for a week, and nobody has established whether that is your platform or forty thousand delegates sharing the same cells.
The short answer
Separate the two before you spend anything: a congested mobile network and a slow server produce the same complaint and different measurements. Run a synthetic test from a probe in Spain to see the real path, then run DevTools with a slow 4G profile and CPU slowdown to see what a throttled handset does with your payload. Those two readings tell you which problem you have.
The server half is fixed: NVMe storage behind a LiteSpeed cache built into the server, OPcache on current PHP 8.x, and a published 10–35 ms round trip from Iberia to London. Cached pages are answered pre-built, so a congested cell affects delivery rather than generation.
By the HostingFast team · Reviewed 12 August 2026
24/7
Engineers on shift
1-click
Softaculous installs
Free
SSL, every plan
Daily
Backups, every plan
Mobile World Congress rearranges the city every spring, the design and architecture trade sells worldwide, and a startup scene staffed by people who came for three months works out of Poblenou. Tourism pays a large share of everyone's rent and books through a phone.
So this page is about testing honestly: which tool measures which thing, how three languages behave in a cache, where a booking engine stops being cacheable, and what a week of congestion actually looks like from the origin.
Two tools, two different measurements
A synthetic run from a probe inside Spain gives you connect time, start render and LCP over a realistic network path — that is the closest thing to a visitor's experience you can produce on demand. Throttling in DevTools simulates bandwidth and CPU while keeping your own routing, which is a different measurement entirely and is about your payload rather than the path.
Use both and be clear which one you are quoting, because confusing them is how teams end up buying capacity to fix a payload problem. If the throttled run is bad and the probe run is fine, the site is too heavy. If the probe run is bad and the throttled run is fine, look at the path and at the redirect chain.
Congress week, from the origin's point of view
Both of the city's peaks — August and congress week — are made mostly of people reading. Reading caches, so the programme, the rate card and the location pages serve pre-built without touching the database, and the spike arrives as a bandwidth figure: 500 GB a month on Sprint, 1 TB on Turbo, 2 TB on Nitro.
What genuinely degrades that week is the mobile network in the Fira district, and no origin fixes a congested cell. What you can do is send fewer bytes: a hero at display dimensions, two font weights rather than six, and no third-party script executing before the headline paints. A predictable seasonal shape is an architecture problem, and it is solvable before February.
Catalan, Spanish and English, all cached
Three parallel trees with their own URLs and hreflang declared between them, and every address caches independently. Visitor-facing pages usually lean English and Spanish while civic and institutional work leans Catalan and Spanish, and the platform is indifferent to how many you run — .cat is one of the very few cultural namespaces the internet has ever granted and it resolves like any other name.
The failure mode is the same everywhere: switching language on one URL by cookie makes the response vary per visitor, the cache stops storing it, and all three audiences pay for a full render. Request each tree's homepage twice, read the cache header on the second response, and confirm three hits before you believe the setup.
The booking step nothing can cache
Availability lookups, reservation writes and payment redirects are personal and transactional, so they run the full round trip plus a PHP render on every step. At 10–35 ms that is comfortable, and it is still worth shortening: one form rather than a five-screen wizard, browser-side validation so a missing field never travels, and the availability call made once rather than on every keystroke.
The php.ini values that matter here are per-site panel settings — max_execution_time for a slow provider API, memory_limit for a heavy integration — and staging lets you point a clone at the provider's sandbox and break it there. Nitro's 2 cores and 4 GB give the uncacheable half of a booking site the room it actually needs.

What is measurable on the account
Cache status in the response headers, per-site PHP versions and limits, staging copies pointed at a sandbox, and daily backups you restore yourself from the panel.
Underneath: NVMe storage, a LiteSpeed cache built into the server, OPcache on current PHP 8.x, built-in WebP conversion and free SSL that renews itself.
- Cache hit or miss readable per language tree
- .es or .cat registered on the same account
- Per-site php.ini limits for a slow booking API
- Staging copies pointed at a provider sandbox
Why HostingFast
Standard on every plan
Reading served pre-built
Programme, rate and location pages answered from a server-level LiteSpeed cache, so a seasonal peak is bandwidth rather than an incident.
Room for the transaction
Editable max_execution_time and memory_limit per site, plus 2 cores and 4 GB on Nitro for the part that can never be cached.
Three languages, three cache entries
Separate URLs and hreflang mean Catalan, Spanish and English all serve pre-built, with a header you can read to prove it.
Images handled for you
Built-in WebP conversion at no extra cost, which matters most on the congested connections a congress week produces.
A sandbox to break
Staging copies let you point a clone at the reservation provider's test environment rather than testing on a live Saturday.
Uptime with a credit
A 99.9% target under continuous monitoring, with a pro-rated credit when a month falls short through a fault on our side.
Quick Start
From order to online
- 1
Run both tests, label both
A synthetic probe in Spain for the path, DevTools throttling for the payload. Write down which number came from which, or the next argument is unwinnable.
- 2
Confirm all three trees cache
Two requests per language, cache result read on the second. A tree that never hits is a switcher problem, not a capacity one.
- 3
Shorten the booking flow
Count the steps to a confirmed reservation and remove one. Each screen removed is a full round trip and a PHP render you stop paying for.
Built In
Loaded onto every plan
- LiteSpeed caching built into the server rather than patched in by plugin
- Built-in WebP image optimisation at no extra cost
- NVMe SSD storage on every tier, not just the expensive ones
- Per-site PHP version switching from the control panel
- Staging environments for testing changes before they ship
- Current PHP 8.x with OPcache enabled from the start
- Daily backups, with self-service restores you run from the panel
- Free SSL on every plan, renewed automatically before it can expire
- A renewal price identical to the price you signed up at
- 99.9% uptime as the target, monitored around the clock
Frequently Asked
What people ask us most often
Is the site slow during congress week, or is the network?
Measure both and you will know. A synthetic run from a probe in Spain shows the real path; DevTools throttling with CPU slowdown shows what a loaded handset does with your bytes. If the throttled figure is the bad one, the page is too heavy and no origin change will rescue it.
Do three languages need three installs?
No — one install, three URL trees, hreflang declared between all of them, and each tree caches independently. Three installs means three sets of certificates, backups and updates for no delivery benefit. What breaks caching is varying one URL by cookie, which stops the cache storing anything at all.
Where does .cat sit technically next to .es?
Identically. Both resolve through DNS, both take a free certificate as soon as they point here, and neither is visible to any Core Web Vitals metric. Choose on audience, then serve one canonical hostname and 301 the other to it in a single hop — and verify that hop with curl -sIL.
Can I test a booking integration without risking live reservations?
Yes. Clone the site to staging, point the clone at the provider's sandbox credentials, and break it there as often as you like. Then promote the change once the flow completes cleanly, with a backup taken beforehand that you can restore yourself in minutes.
Keep reading
Hosting in Spain
Rates in EUR, which domain endings we can register there, and how the tax works out.
Web Hosting in Manchester
Manchester timed the same way, with the origin inside the 5–15 ms band.
Web Hosting in Zurich
Zurich on the same method, inside the same 10–35 ms European band.
How to Choose a Domain Name
Picking a name you can serve canonically, and what the second one is for.
VPS Hosting
KVM virtual servers with root access for a booking engine that never caches.
Web Hosting
Shared hosting on NVMe with a LiteSpeed cache and free migration included.
Changing hosts? Run through our checklist first.
A straightforward sequence for a switch your visitors never feel: which files move first, how to shift email across without losing a single message, the right moment to repoint DNS, and the two mistakes behind almost all the downtime we get asked to rescue.
Label the measurement, then act.
NVMe behind a server-level LiteSpeed cache, WebP built in, free SSL and a free migration — with staging pointed wherever you need to break something.
View VPS Hosting plans