How LiteSpeed and Apache handle a request
Apache gives each connection a process or thread from its MPM. LiteSpeed runs an event loop where a few processes watch many sockets and hand PHP to warm LSAPI workers. That one difference drives the speed gap, the memory gap, and why a cached LiteSpeed page never starts PHP at all.
- Apache httpd uses MPMs: prefork keeps one process per connection, while worker and event use threads. Event is the modern default on Linux.
- LiteSpeed Web Server was written around an event loop from the start. It is not a fork of Apache, even though it reads Apache's configuration format.
- Both serve the same PHP files and the same MySQL database. What changes is how much work the machine does to produce one page.
On a quiet site the two look identical. The gap appears when connections arrive together: Apache's process pool grows, memory climbs, and context switches add up, while the event loop keeps serving from the processes it already has.
Where LiteSpeed is faster, and where Apache keeps up
LiteSpeed wins on uncached PHP and on cacheable page views. Apache keeps pace on static files, and on any site where a CDN absorbs most traffic before it reaches the origin.
| Workload | Apache | LiteSpeed |
|---|---|---|
| Uncached PHP or WordPress | Each request waits for a free mod_php or FPM worker | LSAPI workers stay warm, so the hand-off is shorter |
| Repeat page views | A PHP cache plugin still boots WordPress before it answers | LSCache returns stored HTML without starting PHP |
| Images, CSS, JS | Sends files well; the network is the limit | About the same; the network is still the limit |
| Traffic spike | More processes, more RAM per visitor | The event loop holds the same load in a smaller footprint |
| An Apache-only module | Runs natively | No equivalent; the feature has to be replaced |
| Windows Server | Supported | Not supported; LiteSpeed is Linux only |
The gain is largest on a shared plan with two to four cores, where extra Apache processes compete for the same RAM. On a dedicated machine with spare capacity, a modest site can feel identical on both until traffic doubles.
WordPress shows the gap first, because every uncached request boots core, plugins and theme. A faster PHP handler shortens that boot and a server-level cache skips it, which is why WordPress hosting on LiteSpeed feels quicker than the same plan on Apache.
What still works when Apache is replaced by LiteSpeed
Your .htaccess file, rewrite rules, security rules, Options lines and TLS certificates keep working. LiteSpeed parses Apache's configuration on purpose, which is why cPanel, Plesk and DirectAdmin can swap the web server under existing accounts.
- .htaccess with RewriteRule and RewriteCond: parsed natively, and the parsed copy is cached instead of re-read on every request.
- mod_security rule sets: accepted in the same syntax, so an existing firewall ruleset does not need rewriting.
- Options -Indexes, ErrorDocument and Header set: honoured, so directory listing stays off and redirects keep working.
- Certificates issued for Apache with certbot or Let's Encrypt: they are files on disk, and changing the web server does not touch them.
- Compiled Apache modules: mod_php, mod_wsgi and mod_perl have no equivalent. PHP moves to LSAPI, and a Python or Perl app needs a proxy in front.
Test three things after a swap: a permalink that depends on rewrite rules, a form submission, and one redirect. If those pass, the rest of a normal WordPress site is fine.
Caching: LSCache against Apache's cache modules
LSCache is a page cache inside the web server. It stores the finished, compressed HTML and serves it before PHP starts, so a cached view costs almost no CPU and answers in milliseconds.
On Apache the usual setup is a PHP plugin. The request still reaches PHP-FPM, WordPress boots, the plugin checks its store and returns HTML. That saves database queries rather than the bootstrap, which is why a plugin cache plateaus while a server cache keeps getting faster.
The LiteSpeed Cache plugin for WordPress tells the server when to purge, so a new post or a price change appears on the next request. Confirm a hit with curl -sI https://example.com/ | grep -i x-litespeed-cache: the header reads hit on a cached view and miss on a fresh one.
If every view is a miss, a cookie, a query string or a cart rule is probably excluding the page. Keeping the cart and logged-in users out of the cache is what stops a store showing the wrong price. The WordPress cache guide covers purging when a change refuses to appear.
HTTP/2 and HTTP/3 on each server
LiteSpeed serves HTTP/3 over QUIC out of the box. Apache httpd serves HTTP/2 through mod_http2 and has no production HTTP/3, so QUIC on Apache means a CDN or a proxy sitting in front of it.
HTTP/3 helps most on lossy mobile links, where QUIC recovers from packet loss without waiting on TCP. On stable fibre the gain is small. For a mobile-heavy Indian audience it is a real advantage rather than a line on a spec sheet.
With a CDN in front, the browser's HTTP/3 session ends at the edge and the origin protocol matters less. To see what your browser negotiated, open DevTools, go to Network and add the Protocol column. If you are weighing the other pairing, the Apache vs Nginx comparison covers the proxy arrangement.
Licensing: what Apache and LiteSpeed each cost
Apache is free under the Apache License 2.0. OpenLiteSpeed is free and open source. LiteSpeed Enterprise, the build that carries the full LSCache engine, is a paid licence per server.
| Build | Licence | What you get |
|---|---|---|
| Apache httpd 2.4 | Free, Apache License 2.0 | Every module, any operating system, community support |
| OpenLiteSpeed | Free, open source | Event-driven core and a basic cache module, no vendor support |
| LiteSpeed Enterprise | Paid, per server | LSCache, LSAPI, HTTP/3 and vendor support |
| WebJi® Linux plans | Included in the plan | LiteSpeed Enterprise with LSCache, cPanel and NVMe storage |
On shared hosting nobody buys the licence separately; it is one line inside the plan. On a VPS or a dedicated server the licence is priced per server or per core, so ask for that number in writing before you migrate.
Which server should your site run on
Choose LiteSpeed for a WordPress, WooCommerce or custom PHP site on Linux. Choose Apache when you depend on an Apache-only module, run Windows, or will not pay for a licence.
- LiteSpeed: WordPress or WooCommerce with real traffic, a cPanel or DirectAdmin account, mobile-heavy visitors, and no appetite for stacking cache plugins.
- Apache: mod_php, mod_wsgi or mod_perl in use, a Windows host, a custom compiled module, or a small brochure site where a licence buys nothing.
- Either: a static site, or one fully cached at a CDN edge, where the origin server barely matters.
WebJi® runs LiteSpeed Enterprise with LSCache on its Linux shared plans, with cPanel, NVMe storage and free SSL. L-Basic is ₹300 a month, L-Unlimited ₹400 and L-Developer ₹700, before 18% GST. The LiteSpeed hosting page lists the stack, and cPanel hosting covers the panel side.
How to check which server is answering your site
Send a HEAD request and read the Server header. LiteSpeed answers Server: LiteSpeed, and Apache answers Server: Apache followed by its version.
From a terminal, curl -sI https://example.com | grep -i '^server' prints one line. In cPanel, the Server Information block on the home screen names the web server and its version as well.
If the header names Cloudflare, nginx or a load balancer, the origin is hidden. Ask the host, or read SERVER_SOFTWARE on a phpinfo page. A host that will not name its web server when asked is telling you something.
Frequently Asked Questions
Is LiteSpeed faster than Apache?
Yes for PHP and WordPress. LSAPI keeps PHP workers warm and LSCache can answer a page view without starting PHP, while Apache pays for a process or thread per connection. Static files and CDN-cached sites show little difference, so measure your own time to first byte.
Does LiteSpeed support .htaccess?
Yes, natively, including RewriteRule, RewriteCond, Options -Indexes and mod_security rules. The parsed file is cached instead of re-read on every request. Compiled Apache modules such as mod_php and mod_wsgi do not carry over, because PHP runs through LSAPI instead.
What is LiteSpeed Cache?
LSCache is a full-page cache built into LiteSpeed Enterprise. It stores the finished, compressed HTML and serves it before PHP starts. On WordPress the LiteSpeed Cache plugin handles purging, and a response header of x-litespeed-cache: hit confirms the server answered from cache.
Is LiteSpeed free or paid?
Both exist. OpenLiteSpeed is free and open source. LiteSpeed Enterprise, which carries the full LSCache engine, is a paid licence per server and is included in WebJi® Linux plans from ₹300 a month before 18% GST. Apache is free under the Apache License 2.0.
Can I switch from Apache to LiteSpeed without changing my site?
Yes for a normal PHP or WordPress site. .htaccess, rewrite rules, redirects and certificates keep working. Test a permalink, a form and one redirect after the swap. A site that relies on a compiled Apache module needs that module replaced first.
Does Apache support HTTP/3?
Not in production. Apache httpd serves HTTP/2 through mod_http2, and HTTP/3 needs a CDN or a QUIC proxy in front. LiteSpeed serves HTTP/3 over QUIC natively, which helps most on lossy mobile connections.

