Hướng dẫn
Posted By admin

Kích hoạt LSCache trên website để tăng tốc và giảm tải


Như các bạn cũng đã biết AZDIGI chỉ sử dụng LiteSpeed Webserver Enterprise trên mọi máy chủ Hosting bao gồm gói Tiêu Chuẩn (Linux Standard Hosting) và gói Doanh Nghiệp (Linux Business Hosting/sắp ra mắt). Việc sử dụng LiteSpeed Webserver sẽ giúp website tải nhanh hơn và tiết kiệm tài nguyên hơn Apache Webserver truyền thống.

Không chỉ dừng lại ở đó, mới đây tất cả các gói host tại AZDIGI đều đã hỗ trợ LSCache giúp website lưu bộ nhớ đệm tối ưu hơn, tải nhanh hơn nữa và tiết kiệm tài nguyên tối đa như giảm thiểu mức sử dụng CPU, Physical Memory, IOPS. Trong bài này AZDIGI sẽ mô tả qua LSCache là gì và cách kích hoạt tính năng này trên host.

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.

Nói ngắn gọn, 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. Ở đây AZDIGI 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à misshit. 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
## Lưu cache vào hai phương thức HEAD và GET
RewriteCond %{REQUEST_METHOD} ^HEAD|GET$

# loại trừ một số trang không lưu cache
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 rồi đó. Nếu bạn gặp khó khăn trong việc thiết lập LSCache trên website, hãy liên hệ với phòng kỹ thuật thông qua ticket hoặc support@azdigi.com để được hỗ trợ.