LSCache là gì?
LSCache là viết tắt của cụm từ LiteSpeed Cache, là một tính năng lưu bộ nhớ đệm cho website được tích hợp sẵn vào LiteSpeed Webserver Enterprise. Về cách hoạt động nó cũng giống như mod_cache của Apache nhưng lại có hiệu năng rất cao có thể so sánh được với một công nghệ cache nâng cao là Varnish. Nhưng khác với Varnish, LSCache đã được tích hợp vào LiteSpeed Webserver nên chúng ta không cần xây dựng một proxy phức tạp để xử lý cache tới webserver cũng như không cần cấu hình lượt bỏ cookie, chỉ cần bật lên là chạy.
Ngoài ra LSCache còn có một ưu điểm khác với cache truyền thống (ví dụ như các plugin cài cache cho WordPress như WP Super Cache, W3 Total Cache,..) là các dữ liệu cache luôn được cập nhật tự động sau khoảng một thời gian nhất định mà không cần phải xóa cache thủ công, các trang trên website cũng sẽ được tự động lưu cache thay vì phải chờ một truy vấn gửi tới mới được lưu cache và sử dụng lại cache đó cho các lượt truy cập khác.
LSCache là một giải pháp lưu dữ liệu đệm cho website đang sử dụng LiteSpeed Webserver Enterprise tối ưu nhất mà lại rất đơn giản để sử dụng.
LSCache cải thiện hiệu suất thế nào?
Để nhận xét hiệu suất, chúng ta sẽ đo lường thông qua công cụ ApacheBench. Chúng ta sẽ đo lường với 1000 lượt kết nối với 20 kết nối cùng một thời điểm trên một website WordPress mới được cài đặt ở gói AZH-1.
Thông số khi chưa có cache:
Time taken for tests: 121.341 seconds Complete requests: 1000 Failed requests: 8 (Connect: 0, Receive: 0, Length: 8, Exceptions: 0) Total transferred: 51387968 bytes HTML transferred: 51132640 bytes Requests per second: 8.24 [#/sec] (mean) Time per request: 2426.818 [ms] (mean) Time per request: 121.341 [ms] (mean, across all concurrent requests) Transfer rate: 413.58 [Kbytes/sec] received
Thông số trên nghĩa là sẽ mất 121 giây để gửi 1000 lượt truy cập với 20 kết nối cùng lúc, điều đó tương đương mỗi giây sẽ xử lý được 8.24 truy cập và mỗi truy cập sẽ mất 2.4 giây để tải.
Bây giờ hãy xem thông số khi bật LSCache nào:
Time taken for tests: 3.288 seconds Complete requests: 1000 Failed requests: 0 Total transferred: 51869517 bytes HTML transferred: 51545000 bytes Requests per second: 304.14 [#/sec] (mean) Time per request: 65.760 [ms] (mean) Time per request: 3.288 [ms] (mean, across all concurrent requests) Transfer rate: 15405.70 [Kbytes/sec] received
Wow, chỉ mất 3 giây để gửi 1000 lượt truy cập với 20 kết nối cùng lúc. Mỗi giây xử lý được 304 kết nối và mỗi kết nối chỉ mất 0.065 giây mà thôi.
Bây giờ hãy thử tăng lên 10.000 kết nối với 50 kết nối cùng lúc nhé.
Time taken for tests: 8.275 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 518680000 bytes HTML transferred: 515450000 bytes Requests per second: 1208.42 [#/sec] (mean) Time per request: 41.376 [ms] (mean) Time per request: 0.828 [ms] (mean, across all concurrent requests) Transfer rate: 61209.32 [Kbytes/sec] received
Không khác là bao cả, như vậy website của bạn sẽ chịu được nhiều truy cập hơn khi sử dụng LSCache.
Cách cài đặt LSCache trên host
Đối với website dùng WordPress
Nếu bạn đang sử dụng WordPress, hãy tắt toàn bộ các plugin tạo cache như WP Super Cache, W3 Total Cache, WP Rocket,…
Sau đó bạn hãy cài plugin LiteSpeed Cache vào là bạn đã kích hoạt thành công mà không cần tùy chỉnh gì thêm. Nếu bạn cần tùy chỉnh thêm thì có thể xem qua các thiết lập tại phần Settings -> LiteSpeed Cache.
Để kiểm tra website đã được bật LSCache chưa, bạn hãy truy cập http://www.webconfs.com/http-header-check.php và gõ tên miền của website vào rồi ấn Submit để kiểm tra HTTP Header, nếu có dòng X-LiteSpeed-Cache là thành công, nó có hai giá trị là miss
và hit
. Nếu miss
có nghĩa là trang chưa được lưu cache nhưng bạn submit lại lần nữa sẽ ra hit
tức là trang đã được lưu cache.
Đối với website dùng Xenforo
Nếu bạn dùng Xenforo thì chỉ cần cài LiteSpeed Cache Add-on và khi kích hoạt là bạn đã bật cache thành công.
Đối với website dùng Joomla
Nếu bạn đang dùng mã nguồn Joomla thì hãy chèn đoạn sau vào tập tin .htaccess của thư mục gốc website. Thay domain.com thành tên miền của bạn.
########## Begin - Litespeed cache <IfModule LiteSpeed> CacheEnable public RewriteEngine On RewriteCond %{REQUEST_METHOD} ^HEAD|GET$ RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteCond %{HTTP_COOKIE} !loginuser RewriteCond %{ORG_REQ_URI} !^/index.php$ RewriteCond %{ORG_REQ_URI} !administrator RewriteCond %{ORG_REQ_URI} (\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule .* - [E=Cache-Control:max-age=300] </IfModule> ########## End - Litespeed cache
Đối với website dùng PrestaShop
Bạn cũng chỉ cần chèn đoạn sau vào tập tin .htaccess của thư mục gốc website.
########## Begin - Litespeed cache <IfModule LiteSpeed> CacheEnable public RewriteEngine On RewriteCond %{REQUEST_METHOD} ^GET|HEAD|PURGE$ RewriteCond %{HTTP_HOST} ^your_domain_name.com [NC] RewriteCond %{REQUEST_URI} !admin_folder|404|address|authentication|best-sales|cart|contact|discount|guest-tracking|history|identity|order|password|products-comparison|search|account|friend|login|logout|addresses|contact-us|order-history|my-account|order-confirmation|order-follow|quick-order|credit-slip|password-recovery [NC] RewriteCond %{HTTP_COOKIE} !logged|cart [NC] RewriteCond %{QUERY_STRING} !nocache [NC] RewriteRule .* - [E=Cache-Control:max-age=900] </IfModule> ########## End - Litespeed cache
Với các website dùng ngôn ngữ PHP khác
Nếu website bạn là tự code bằng ngôn ngữ PHP hay bất kỳ mã nguồn mở bằng PHP nào, bạn cũng có thể bật LSCache bằng cách chèn đoạn sau vào .htaccess và sửa lại tên các đường dẫn không muốn lưu cache vào (ví dụ như trang admin).
<IfModule LiteSpeed> CacheLookup Public on RewriteEngine On RewriteCond %{REQUEST_METHOD} ^HEAD|GET$ RewriteCond %{REQUEST_URI} !/(login|register|administrator|cron|admin)\.php$ RewriteRule .* - [E=Cache-Control:max-age=120] </IfModule>
Như vậy là bạn đã vừa hoàn tất kích hoạt LSCache.
Chúc bạn thực hiện thành công!