Typical and slowest pages, side by side.
The typical page (p50) and the slowest 5% (p95), measured end to end from the shoppers’ country, next to the server time, success rate and memory from the same run.

We load-tested a live fashion store on its own 2 vCPU server, with real shopper journeys sent from the shoppers’ own country. Here is what it handled, how we measured it, and why it stays fast as your business grows.

Application, PostgreSQL, Redis and the background workers all shared one 2 vCPU box with 3.8 GB of RAM.
Typical page in 0.24–0.52 s and the slowest 5% within 1.5 s, with the CPU at half load or less.
Typical page about 0.4 s, with the CPU at 58–83% and headroom still left.
At 12–14 requests a second, the same small box keeps up with a busy shopping hour.
The web container stayed at 225–262 MiB for the whole run, with more than 2.4 GB of RAM free.
Measured for a signed-in shopper with no page cache, the hardest case for the server.
Product search answers in about 170 ms of server time on the same small server.
Numbers you can trust come from conditions you would recognise, so we measured the way your shoppers actually arrive.
A real fashion catalogue and checkout on a 2 vCPU, 3.8 GB server, with everything on one box.
70% new visitors, one to four pages each, search, add to cart and 5–15 seconds of reading between clicks.
k6 sent traffic from the shoppers’ own country with gzip on, and every virtual shopper had its own session.
Network and TLS included in page times, no page cache in server times, and plain PHP-FPM with OPcache.
Speed is not a server upgrade we ask you to buy. It comes from how the application is built and checked.
The typical page (p50) and the slowest 5% (p95), measured end to end from the shoppers’ country, next to the server time, success rate and memory from the same run.

Every page renders on the server and is readable before any script runs. Data that is the same for every visitor ships as cached files, and modules start only when a request needs them.

These numbers come from standard PHP-FPM with OPcache. No Octane, Swoole, FrankenPHP or JIT, so you get the same speed on any Linux server with Docker and nothing exotic to maintain.
Static analysis and more than 14,000 automated tests run before a release is built, so a new feature never quietly makes your store slower or less reliable.

The application is CPU-bound and keeps no local state, so capacity grows with cores: move to 4 vCPU, give the database its own server, then add app servers behind a load balancer.

On a comparable 2 vCPU server close to your shoppers, yes. Page times include the network, so hosting near your customers matters as much as the server size.
People actively browsing at the same moment, each reading for 5–15 seconds between clicks. A store with 40 of them at once is serving thousands of visitors a day.
Move to 4 vCPU first, then give the database its own server, then add app servers behind a load balancer. The software and the data stay the same at every step.
Yes. Guest pages are cached per host and language, so repeat visits skip the database, and you can add a CDN in front. The server times on this page were measured with no page cache.
You do not need them. Standard PHP-FPM keeps hosting simple and predictable, and the application is already lean enough to be fast without a special runtime.
Start a 14-day trial, deploy with Docker and see the speed with your own catalogue.