Dynamic pages
Lower median time to first byte on LiteSpeed across the home page, a post and search, when every request was a genuine cache miss.
Ahosting Technical Operations test
LiteSpeed was roughly twice as fast for dynamic WordPress execution in our lab environments. Once both platforms served a correctly cached page, the result was effectively tied at about 11 ms.
Tested 23 August 2026. Re-run when a material stack change requires it.
Executive summary
We ran the same WordPress fixture on an Ahosting Apache lab and an Ahosting LiteSpeed lab. The result splits cleanly by whether the page had to be generated or could be served from cache.
Lower median time to first byte on LiteSpeed across the home page, a post and search, when every request was a genuine cache miss.
Effectively tied. Once a correct full-page cache answered the request, the web server stopped being the variable worth arguing about.
Throughput advantage on dynamic requests at 1 to 20 concurrent users, with p95 latency roughly half at every step.
Test environment
Identical WordPress fixture on both: WordPress 7.1, PHP 8.2, Twenty Twenty-Five 1.5, 50 posts, 8 pages, 60 comments and 10 local images. Cloudflare was DNS-only, so no edge cache sat in front of either site.
The hardware was not identical. Memory, database placement and protocol differ between the two nodes, so these numbers describe our environments rather than the two web servers in isolation. We say so here rather than in a footnote.
Dynamic results
Every request used a unique URL to force a cache miss. 30 observations per route and platform, from three independent rounds. Lower is better.
| Route | Apache median | LiteSpeed median | Reduction | Apache p95 | LiteSpeed p95 |
|---|---|---|---|---|---|
| Home page | 361.5 ms | 165.2 ms | 54.3% | 2,972.9 ms | 207.2 ms |
| Post | 376.5 ms | 175.7 ms | 53.3% | 2,583.4 ms | 217.0 ms |
| Search | 385.2 ms | 189.2 ms | 50.9% | 2,996.7 ms | 197.8 ms |
The p95 column is the more interesting one. Apache’s worst-case dynamic responses ran into seconds; LiteSpeed’s stayed close to its median. Consistency, not the headline average, is what a visitor actually feels.
Cached results
Apache served from WP Super Cache in Expert mode via mod_rewrite. LiteSpeed served from server-integrated LSCache. Cache hits were verified rather than assumed.
| Cacheable route | Apache median | LiteSpeed median | Apache p95 | LiteSpeed p95 |
|---|---|---|---|---|
| Home page | 11.1 ms | 10.9 ms | 14.4 ms | 11.7 ms |
| Post | 10.9 ms | 10.8 ms | 12.0 ms | 11.8 ms |
Concurrency
Both page caches were disabled for this run, so every request was dynamic. HTTPS with HTTP/1.1 keep-alive, from the same Michigan host.
| Concurrency | Apache req/s | LiteSpeed req/s | Apache p95 | LiteSpeed p95 |
|---|---|---|---|---|
| 1 | 2.97 | 6.62 | 361 ms | 184 ms |
| 5 | 2.84 | 6.83 | 1,794 ms | 782 ms |
| 10 | 3.08 | 6.59 | 3,402 ms | 1,598 ms |
| 20 | 3.08 | 6.04 | 6,501 ms | 3,598 ms |
What it means
The honest summary is narrower than the headline, and more useful.
If your pages are cacheable and the cache is configured correctly, both stacks answer in about 11 ms. Get the cache right before you shop for a web server.
Logged-in sessions, search, personalised pages and anything a cache must skip. That is where the 51 to 54 percent showed up, and where a busy site actually lives.
Apache p95 ran to seconds under load while LiteSpeed stayed near its median. The slowest requests are the ones a visitor remembers.
Limitations
Published so you can decide how much weight the numbers deserve.
Looking for store performance instead? The WooCommerce study measures cart, checkout and add-to-cart separately, and reaches a different conclusion.
Measured, then sold
Every WordPress plan runs on the LiteSpeed configuration measured above, not a different tier of it. WP Bronze starts at $2.79 a month and renews at $2.79, with a free dedicated IP, daily offsite backups, staging and a migration our team runs for you.
36-month term. Renews at $2.79/mo, no increase and no setup fee.