Skip to main content

Performance Optimization

OpenLiteSpeed is already fast by design, but strong performance comes from tuning the right layers in the right order.

Caching​

LiteSpeed Cache Engine​

LiteSpeed Cache can serve cached responses without invoking PHP for every request. This is especially valuable for CMS workloads such as WordPress.

Browser Cache​

Use cache-control and expiry headers for CSS, JavaScript, images, and fonts so browsers reuse assets instead of redownloading them.

Object Cache​

OpenLiteSpeed itself does not replace Redis or Memcached object caching. Pair LiteSpeed Cache with application-level object caching for dynamic workloads.

Cache Rules​

Design rules carefully:

  • Cache anonymous pages aggressively
  • Exclude carts, checkouts, and user dashboards
  • Vary cache by device or cookies only when necessary
  • Purge on content updates instead of using short TTLs everywhere

Compression​

Gzip Compression​

Gzip is widely compatible and should be enabled for text-based assets such as HTML, CSS, JavaScript, JSON, and XML.

Brotli Compression​

Brotli usually provides better compression ratios than gzip for modern browsers. It is ideal for static assets where CPU cost is amortized.

Static File Optimization​

Static File Handling​

Serve static assets directly from OpenLiteSpeed whenever possible. Avoid routing images, stylesheets, or downloads through PHP if not required.

File Cache​

The server can keep frequently accessed file metadata and content hot, reducing repeated disk lookups on busy sites.

Sendfile Optimization​

sendfile allows the kernel to transfer files more efficiently for large static downloads, though it should be validated with your filesystem and container environment.

Connection Optimization​

Keep-Alive​

Keep-alive reduces handshake overhead by reusing connections for multiple assets. Set timeouts high enough to help browsers, but not so high that idle clients waste capacity.

HTTP/2​

HTTP/2 improves multiplexing and header compression for HTTPS traffic and is a strong default for most sites.

HTTP/3 (QUIC)​

HTTP/3 uses QUIC over UDP and can reduce latency on lossy networks. Enable it only after confirming firewall and upstream network support.

Tuning Priorities​

PriorityWhy It Matters
Cache correctlyLargest gain for dynamic sites
Serve static files directlyRemoves PHP overhead
Enable compressionReduces transfer size
Use HTTP/2 or HTTP/3Improves client delivery efficiency
Tune keep-aliveBalances responsiveness and concurrency

Common Mistakes​

  • Caching logged-in or personalized pages unintentionally
  • Enabling compression for already compressed formats like JPEG or MP4
  • Sending static assets through PHP handlers
  • Turning on HTTP/3 without opening the required UDP path
  • Optimizing server settings before measuring application bottlenecks