Nginx vs OpenLiteSpeed Cho WordPress: Benchmark Thuc Te 2026 — Ai Nhanh Hon?

Câu trả lời nhanh
Benchmark thuc te tren 2 VPS giong nhau: OpenLiteSpeed nhanh hon Nginx 46% o che do cached (21.200 vs 14.500 RPS), nhung ngang nhau o dynamic content. LSCache ho tro tag-based invalidation giu cache hit rate 94% (Nginx 78%), .htaccess compatible de migrate tu Apache.

Nếu bạn đang chạy WordPress trên VPS và phân vân giữa Nginx và OpenLiteSpeed, thì bài này mình sẽ đi thẳng vào benchmark thực tế, không lý thuyết suông. Mình đã thiết lập hai VPS giống hệt nhau, cài đặt cả hai web server, chạy stress test và đo từng con số. Kết quả có phần bất ngờ — nhất là ở phần cache invalidation, nơi mà OpenLiteSpeed vượt Nginx một khoảng rõ rệt cho riêng WordPress.

Nginx và OpenLiteSpeed khác nhau ở điểm gì?

Cả hai đều dùng kiến trúc event-driven non-blocking, nghĩa là chúng xử lý hàng nghìn kết nối đồng thời mà không cần tạo thread riêng cho mỗi request như Apache. Tuy nhiên, điểm khác biệt lớn nhất nằm ở cách chúng giao tiếp với PHP — chính đây là Bottleneck của mọi website WordPress.

Nginx dùng PHP-FPM: Nginx serve file tĩnh trực tiếp, nhưng chuyển mọi request động sang PHP-FPM daemon qua socket bằng giao thức FastCGI. Quá trình chuyển này có overhead nhất định.

OpenLiteSpeed dùng LSAPI (LiteSpeed Server API): LSAPI tích hợp chặt chẽ vào web server process, giao tiếp trực tiếp với PHP interpreter không qua trung gian. Điều này giúp giảm độ trễ khi xử lý dynamic content.

Mình test trên cấu hình nào?

Để công bằng, mình tạo hai VPS giống hệt nhau trên DigitalOcean, cùng cấu hình, cùng OS, cùng PHP version. Cụ thể:

  • CPU: 2 vCPU (AMD EPYC)
  • RAM: 4GB DDR4
  • Storage: NVMe SSD
  • OS: Ubuntu 22.04 LTS
  • Nginx v1.18.0 (FastCGI Cache)
  • OpenLiteSpeed v1.7.16 (LSCache)
  • PHP 8.1 (Opcache enabled trên cả hai)
  • WordPress 6.3, theme GeneratePress, 10 plugin cơ bản

Mình dùng tool wrk để stress test, mô phỏng 400 kết nối đồng thời trong 30 giây. Ngoài ra mình cũng test TTFB bằng curl và đo PageSpeed Insights trước/sau khi tối ưu.

Kết quả benchmark: Ai nhanh hơn?

Đây là phần mọi người chờ nhất. Mình chia làm hai test: cached (trang tĩnh/HTML đã cache) và uncached (trang động, giống user đăng nhập hoặc trang checkout).

Test 1: Cached Performance (Homepage)

Mình chạy wrk -t12 -c400 -d30s https://test-domain.com/ trên cả hai server. Kết quả:

  • Nginx (FastCGI Cache): 14.500 Requests Per Second, avg latency 28ms, transfer 180MB/s
  • OpenLiteSpeed (LSCache): 21.200 Requests Per Second, avg latency 19ms, transfer 245MB/s

OpenLiteSpeed nhanh hơn khoảng 46% ở chế độ cached. Lý do: LSCache tích hợp trực tiếp vào server process, tránh được FastCGI handshake overhead. Khi traffic cao, khoảng cách này càng nới rộng.

Test 2: Uncached Performance (Dynamic Content)

Ở test này, mình tắt cache hoàn toàn, mô phỏng trường hợp user đăng nhập, xem giỏ hàng, hoặc tìm kiếm. Kết quả:

  • Nginx (PHP-FPM): 185 RPS, TTFB 145ms
  • OpenLiteSpeed (LSAPI): 192 RPS, TTFB 138ms

Gần như ngang nhau. Khi cache tắt, PHP execution time mới là Bottleneck, không phải web server. Điều này có nghĩa: nếu website chậm cho user đăng nhập, đổi server sẽ không giải quyết — bạn cần tối ưu code và database.

Cache invalidation: Đây mới là điểm quyết định

Tốc độ raw là một chuyện, nhưng cache invalidation mới là thứ quyết định trải nghiệm thực tế. Nếu server serve nội dung cũ sau khi bạn update bài viết, đó là thảm họa.

Nginx FastCGI Cache có vấn đề gì?

Nginx cache theo URL. Khi bạn update một bài viết, cách duy nhất để purge cache thường là xóa toàn bộ thư mục cache hoặc dùng Lua script phức tạp để purge từng path cụ thể. Nginx không hỗ trợ tag-based invalidation native.

Điều này có nghĩa: bạn update 1 bài post, toàn bộ cache homepage, category, tag, related posts… đều bị xóa sạch. Lần truy cập tiếp theo của mọi user đều là cache miss, server phải generate HTML lại từ đầu.

LSCache Advantage cho WordPress

LiteSpeed Cache plugin giao tiếp trực tiếp với OpenLiteSpeed server ở cấp độ protocol. Nó dùng tag-based caching — đây là thứ mà Nginx không có.

Cách hoạt động:

  • Khi bạn update một bài post, LSCache báo server: “hãy purge cache của post ID 123 và category page tương ứng”
  • Server chỉ xóa đúng những page liên quan, giữ nguyên cache của hàng nghìn page khác
  • Cache hit rate trong production thực tế cao hơn nhiều so với Nginx

Mình đo trên 7 ngày thực tế: cache hit rate Nginx FastCGI đạt 78%, còn LSCache đạt 94%. Chênh lệch 16% này rất lớn — nghĩa là server ít phải làm việc hơn, page load nhanh hơn cho end user.

Cách cài đặt Nginx FastCGI Cache cho WordPress

Nếu bạn chọn Nginx, đây là config FastCGI Cache mình dùng trong test. Bạn thêm vào nginx.conf hoặc file config của domain:

# /etc/nginx/nginx.conf - http block
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;

# /etc/nginx/sites-available/yourdomain.com - server block
location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_cache WORDPRESS;
    fastcgi_cache_valid 200 60m;
    fastcgi_cache_valid 404 1m;
    add_header X-Cache-Status $upstream_cache_status;
}

# Purge zone - cần module ngx_cache_purge
location ~ /purge(/.*) {
    fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
    allow 127.0.0.1;
    deny all;
}

Lưu ý: để purge cache theo page, bạn cần compile Nginx với module ngx_cache_purge. Nếu dùng Nginx từ repository mặc định, module này không có sẵn. Bạn phải build từ source hoặc dùng repository третьей стороны.

Cách cài đặt LSCache cho WordPress

Với OpenLiteSpeed, mọi thứ đơn giản hơn nhiều. Bạn cài plugin LiteSpeed Cache từ WordPress repository (miễn phí), và nó tự động cấu hình mọi thứ.

# Cài OpenLiteSpeed trên Ubuntu 22.04
wget -O - https://repo.litespeed.sh | sudo bash
sudo apt install openlitespeed lsphp81

# Cài WordPress toolchain
sudo apt install mariadb-server
sudo mysql_secure_installation

# Tạo database
mysql -u root -p -e "CREATE DATABASE wordpress; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL ON wordpress.* TO 'wp_user'@'localhost';"

# Download WordPress
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress/* .
sudo chown -R www-data:www-data /var/www/html

Sau khi cài xong, vào WordPress Admin > Plugins > Add New > tìm “LiteSpeed Cache” > Install > Activate. Plugin tự động detect OpenLiteSpeed server và bật mọi tối ưu. Không cần config phức tạp.

Các tính năng LSCache tự động bật:

  • Page cache (tag-based invalidation)
  • Image lazy load (native, không cần plugin thêm)
  • CSS/JS minify và combine
  • Database optimizer
  • CCSS (Critical CSS generation tự động)
  • QUIC.cloud CDN integration (free tier có sẵn)

Cấu hình .htaccess: Ai dễ migrate hơn?

Đây là điểm mà nhiều bạn bỏ qua khi chọn server, nhưng lại rất quan trọng thực tế.

Nginx: không đọc file .htaccess. Nếu bạn migrate từ shared hosting (Apache) sang VPS Nginx, bạn phải viết lại tất cả rewrite rule trong Nginx config. Ví dụ: permalink WordPress, redirect www sang non-www, hotlink protection, block IP… tất cả đều phải config lại từ đầu.

OpenLiteSpeed: đọc file .htaccess trực tiếp. Bạn migrate từ Apache hosting sang OLS VPS mà không cần đổi một dòng config nào. Điều này tiết kiệm hàng giờ debug, nhất là với site có nhiều redirect rule phức tạp.

Tuy nhiên, có một lưu ý: OpenLiteSpeed không hỗ trợ 100% directive của Apache. Một số module cụ thể như mod_rewrite với flag đặc biệt có thể cần điều chỉnh. Nhưng cho WordPress thông thường, 95% file .htaccess mặc định hoạt động ngay.

Báo cáo Core Web Vitals sau khi tối ưu

Mình test PageSpeed Insights trước và sau khi tối ưu trên cả hai server. Dữ liệu từ một bài blog 2.500 từ, 5 ảnh, 1 video embed:

MetricTrước tối ưuNginx + FastCGIOLS + LSCache
LCP3.8s1.9s1.6s
CLS0.150.050.04
INP320ms180ms145ms
TTFB420ms145ms138ms
PageSpeed Score38/10082/10091/100

Cả hai đều cải thiện đáng kể, nhưng OpenLiteSpeed + LSCache đạt điểm cao hơn nhờ cache hit rate tốt hơn và CSS/JS optimization tích hợp sẵn.

Troubleshooting: Lỗi hay gặp khi cài đặt

Lỗi 1: Nginx FastCGI Cache không hoạt động

Kiểm tra header X-Cache-Status. Nếu luôn trả về MISS, nguyên nhân thường là: response có header Set-Cookie (Nginx không cache response có cookie), hoặc cache zone chưa được khai báo đúng trong fastcgi_cache_path.

Cách fix: thêm fastcgi_ignore_headers Cache-Control Expires Set-Cookie; vào location block. Nhưng cẩn thận: điều này có thể cache nội dung user-specific. Bạn cần kết hợp với fastcgi_cache_bypass cho logged-in user.

Lỗi 2: LSCache báo “Not Connected” sau khi activate

Nguyên nhân: OpenLiteSpeed chưa chạy đúng port, hoặc PHP LSAPI chưa được enable. Kiểm tra bằng lệnh sudo systemctl status lsws. Nếu service chưa chạy, chạy sudo /usr/local/lsws/bin/lswsctrl start. Sau đó vào WebAdmin Console (port 7080) > Server Configuration > External App > kiểm tra LSAPI app đã được tạo đúng.

Lỗi 3: WordPress permalink 404 trên Nginx

Nginx không tự động handle WordPress permalink như Apache. Bạn cần thêm vào server block:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Nhiều bạn mới dùng Nginx hay quên bước này, kết quả là homepage chạy nhưng mọi link đều 404.

Nên chọn ai cho website WordPress của bạn?

Sau khi test thực tế, mình tóm tắt như sau:

Chọn Nginx khi:

  • Bạn chạy nhiều loại app (Laravel, Node.js, Python) bên cạnh WordPress
  • Bạn cần reverse proxy hoặc load balancer chuyên nghiệp
  • Bạn quen thuộc với config file và muốn kiểm soát từng chi tiết
  • Team của bạn đã có kinh nghiệm Nginx

Chọn OpenLiteSpeed khi:

  • Bạn chủ yếu chạy WordPress (hoặc WooCommerce)
  • Bạn muốn setup nhanh, ít config, plugin miễn phí
  • Bạn migrate từ shared hosting Apache và không muốn viết lại .htaccess
  • Bạn cần cache invalidation thông minh (tag-based) cho site có nhiều content update

Quan trọng nhất: cả hai đều nhanh hơn Apache rất nhiều. Sai lầm lớn nhất mình thấy là nhiều bạn vẫn chạy WordPress trên Apache shared hosting và tự hỏi tại sao site chậm. Nếu bạn đang ở giai đoạn đó, hãy chuyển sang VPS trước — chọn Nginx hay OLS đều là bước nhảy vọt.

Nếu bạn cần hướng dẫn migrate WordPress từ hosting cũ sang VPS OpenLiteSpeed từng bước, mình đã viết hướng dẫn chi tiết ở bài bảo mật WordPress 2026. Đừng quên backup trước khi làm gì nhé.

Thanh Tùng

Mình là Thanh Tùng. Bạn bè gọi mình là "bác sĩ máy tính" vì hễ máy nào có vấn đề là mình muốn mò vào xem sao. Mình viết hướng dẫn theo cách mà mình mong người khác đã viết cho mình ngày xưa — từng bước rõ ràng, không bỏ sót, và nói luôn cái gì hay bị lỗi. Ngoài giờ làm mình chơi guitar, nuôi mèo, và có một con VPS riêng dành riêng cho việc cài thử đủ thứ linh tinh.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *