Cache strategy · Warsaw
Warsaw: the store is two sites, not one
Category listings can be prepared in advance and a basket cannot, and almost every performance argument about a Polish store comes down to that split.
The short answer
A Polish ecommerce site has two populations. Logged-out browsers reading category and product pages can be served a prepared response and should never touch PHP. Anyone holding a basket needs a page built for them alone. Measure the two separately, because averaging them produces a number that describes nobody.
The practical target is cache coverage on the browsing half and query time on the personal half: a LiteSpeed cache inside the server for the first, an object cache and indexed columns for the second, NVMe under both, and Query Monitor for an hour when you need to know which plugin is issuing four hundred queries.
By the HostingFast team · Reviewed 15 August 2026
99.9%
Availability target
24/7
Engineers on shift
Free
SSL, every plan
NVMe
Drives as standard
Central Europe's business capital: shared-service centres for half the Fortune 500, a domestic ecommerce market that grew up quickly, and a developer talent pool the whole continent recruits from. The skyline changed more in twenty years than most cities manage in a century.
Two audiences read this page — the store operator and the agency running thirty of them. It covers how to measure cache coverage, where an uncached basket really spends its time, what the London origin costs from Poland, and what running client sites costs per account.
Measure coverage before you measure speed
Open a category page in a private window and read the response headers. If the cache reports a hit, that page costs the server almost nothing no matter how many people arrive at once. If it reports a miss, find out why before you optimise anything else — a session cookie set on every visitor, a currency switcher writing state site-wide, or a personalisation block on a template that did not need one.
Do the same on the ten URLs that actually carry your traffic rather than on the homepage. Cache coverage is a proportion, and the proportion is what decides whether a promotion is a good afternoon or an incident.
Where an uncached basket spends its time
The basket, the checkout and the account pages are built per visitor by definition. That is not a fault, and no cache setting changes it. What you can change is how much work each of those builds does: an object cache so repeated lookups stop repeating, indexes on the columns the filters search, and a plugin list short enough that somebody can name what each entry does.
Install Query Monitor for an hour, load the slow page as an administrator and sort the query list by duration with the caller column visible. It names the offender. A related-products block issuing one query per item is the classic; four hundred queries at two milliseconds each is nearly a second of the customer's time and none of it appears in the markup. Then remove Query Monitor — it is a diagnostic, not a passenger.
Poland to London, and what crosses it
Poland sits in the Eastern Europe and Turkey band we publish for the London origin: 30 to 60 milliseconds of round trip. A cached category page crosses that once. A checkout that makes several uncached round trips crosses it several times, which is the arithmetic worth doing before deciding the distance is the problem.
.pl is where domestic conversion happens and registers on the same account as the hosting, DNS aimed correctly from the start. Keeping the store, its images and its checkout on one hostname also spares the browser a second handshake at exactly the moment it can least afford one.
For the agency running thirty of these
The measurement discipline scales badly if every client site is a separate login and a separate invoice. A reseller account puts your brand on the panel, walls each client off in its own account, and costs $0.40 per active client account per month on top of the plan, which makes the per-site margin something you can actually forecast.
The operational win is the same tooling everywhere: identical cPanel, identical staging copies, identical restore path from the panel, so a junior can follow the same runbook on the twelfth site as on the first. Consistency is worth more at thirty accounts than any individual optimisation.

What the store half and the agency half share
One stack under both: NVMe storage, a LiteSpeed cache built into the server, per-site PHP switching, and staging copies to prove a change on before a customer meets it.
Reseller accounts carry your own brand on the panel with each client isolated, so the diagnosis you run on one site works identically on all of them.
- Cache hit reported in the headers, so coverage is checkable
- Staging copies to test a promotion template first
- Isolated client accounts under your own brand
- .pl registered and renewed on the hosting account
Why HostingFast
Standard on every plan
Browsing traffic that skips PHP
A LiteSpeed cache inside the server serves prepared category and product pages, so a promotion is read from cache rather than rebuilt per visitor.
Room to find the slow query
SSH with Git and Composer on the developer plans, so a slow query log is something you read rather than something you file a ticket about.
Per-site PHP, per client
Version switching is per site, which matters when one client's plugin stack is two years behind another's.
Isolation you can promise
Reseller accounts wall each client off in their own account, so one site's runaway import is not everybody's afternoon.
Forecastable per-client cost
Client accounts bill at $0.40 per active account per month on top of the plan, so the margin per site is a figure rather than a guess.
Migration done for you
Our engineers bring each site across free of charge, keep the old one serving throughout, and wait for sign-off before DNS moves.
Quick Start
From order to online
- 1
Check coverage on ten real URLs
Private window, response headers, hit or miss, on the pages that carry the traffic rather than the homepage nobody buys from.
- 2
Name the query, then delete it
Query Monitor for one hour, sorted by duration with the caller column on. Fix or remove the plugin, then take Query Monitor back off.
- 3
Standardise across the portfolio
Same panel, same staging routine, same restore path on every client account, so the runbook holds at thirty sites as well as at one.
Built In
Loaded onto every plan
- LiteSpeed caching inside the server rather than added by plugin
- Cache status reported in the response headers, so coverage is checkable
- Per-site PHP version switching from the control panel
- SSH, Git and Composer on the developer-focused plans
- Staging copies for proving a promotion template first
- Daily backups with self-service restores from the panel
- NVMe throughout, from the entry plan upward
- Isolated client accounts on reseller plans, under your own brand
- In-place tier upgrades, with no migration when you change plan
- Free SSL on every plan, reissued before it can lapse
Frequently Asked
What people ask us most often
Category pages fly and the checkout crawls. Is that a hosting fault?
It is the expected shape, not a fault. A category page can be prepared once and handed to everybody; a checkout is personal and is built on every request. The useful work is making sure the browsing half is genuinely cached and that the personal half issues as few database queries as it can, which is a code question with a measurable answer.
The headers say miss on a page that should obviously be cached. What causes that?
Almost always something writing a cookie for every visitor — a currency switcher, a consent banner storing state site-wide, a personalisation block on a template that did not need one. The cache cannot reuse a response it believes is unique to one person. Find the cookie, scope it to the pages that need it, and the same page starts reporting a hit.
We are an agency with thirty client stores. What does each one cost to host?
A reseller account plus $0.40 per active client account per month, with each client isolated in their own account under your brand. The figure matters less than its predictability: you can price a care plan against it, and the diagnosis routine you use on one store works unchanged on the other twenty-nine.
A Polish and English tree on one store — does that halve the cache?
It doubles the number of cache entries, which is a storage question rather than a speed one and rarely interesting at this scale. What it does change is warming: two trees take twice as long to get fully cached after a purge, so schedule big template changes away from a promotion rather than an hour before one.
Keep reading
Hosting in Poland
Rates in PLN, which domain endings we can register there, and how the tax works out.
Web Hosting in Helsinki
Helsinki, and the same stack examined by an audience that checks everything.
Web Hosting in Liverpool
Liverpool, where a comparable retail workload sits inside the shortest band.
Best Hosting With Free Migration
How a free migration is actually run, and what it does to your before-and-after numbers.
Drupal Hosting
Drupal with Composer, Drush and per-site PHP control on tap.
Web Hosting
Fast cPanel hosting on NVMe with SSL, migration and a year-one domain 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.
Cache the browsing, tune the basket.
Server-level caching, shell access to diagnose with, and reseller accounts that keep each client properly separate.
View Drupal Hosting plans