Để phát triển một website WordPress hiệu quả về hiệu suất, có tốc độ tải trang nhanh hơn và tiết kiệm tài nguyên thì một trong nhưng phương pháp tốt nhất đó sử dụng caching tool.
Hiện tại source code wordpress có rất nhiều plugin cache hỗ trợ về vấn đề caching cho website. Nhưng để chọn được plugin cache phù hợp và tốt nhất với nhu cầu sử dụng thì chúng ta cần nắm rõ được các điểm chuẩn (benchmark) của các plugin để có thể đánh giá và lựa chọn phù hợp hơn.
Ở đây chúng tôi sẽ đánh giá Benchmark của 3 plugin cache thông dụng và hỗ trợ cho website tốt vì có những tính năng vượt trội hơn hẳn đó là : W3 Total Cache, WP Super Cache và LiteSpeed Cache. Hãy cùng chúng tôi đánh giá ba plugin để thấy plugin nào sử dụng hiệu quả nhất thông qua phương pháp Benchmark.
W3 Total Cache
W3 Total Cache là một plugin tạo cache chuyên nghiệp với rất nhiều tùy chọn hữu ích. Trang thiết lập tổng quát của nó bao gồm page cache, database cache, object cache và browser cache. W3 Total Cache tích hợp sẵn CDN, CloudFlare và các tùy chọn dành cho các máy chủ có Varnish cache chuyên dụng.
Để đánh giá Banchmark của plugin W3 Total Cache ta sẽ sử dụng tool morder wrk được cài đặt trong VPS và sử dụng các dòng lệnh thực hiện request vào website trong một thời gian nhất định.
Đầu tiên ta cần phải truy cập vào trang admin website để tiến hành cài đặt plugin W3 Total Cache để sử dụng, Chúng ta vào Plugins –> Add New, sau đó gõ vào ô Search ” W3 Total Cache” sau đó tìm đến plugin và Install –> Active để kích hoạt plugin.
Sau khi đã cài đặt plugin, chúng ta vào Setting để tích chọn các đối tượng cache mà mình muốn enable, ví dụ như Page cache, Opcode cache, Data cache,… rồi chọn Save setting để lưu lại.
Truy cập vào lại trang website chúng ta thấy website truy cập rất nhanh. Bây giờ chúng ta sẽ dùng tool wrk để kiểm tra Benchmark :
Nếu bị báo lỗi : ” unable to create thread 7: Too many open files ” , thì chúng ta có thể sử dụng lệnh sau để khắc phục:
Sau đó chạy lại lệnh: ./wrk -t20 -c10000 -d60s http://tadutest.com/ để thực hiện 10000 request vào website:
Chúng ta quay lại trình duyệt kích chuột reload lại trang website https://tadutest.com thì thấy khi có 10000 request cùng thực hiện vào mặc dù đã có bật plugin cache W3 Total Cache nhưng trang website vẫn load rất chậm và khi thực hiện truy cập lại trang website thì trang web bị mất kết nối đến dữ liệu làm website lỗi database:
Sau khi có số lượng request lớn đồng thời vào website thì W3 Total Cache lúc này không thể tạo bộ đệm kịp thời để hỗ trợ tốt cho website hoạt động và website sẽ bị sập.
WP Super Cache
WP Super Cache là một plugin bộ nhớ đệm WordPress phổ biến khác. Là một plugin tạo cache đơn giản và miễn phí nên được nhiều người sử dụng.
Cũng như Plugin W3 Total Cache, chúng ta cũng sử dụng công cụ wrk bằng tập lệnh trong VPS để đánh giá Benchmark cho WP Super Cache khi cấu hình hỗ trợ cho website.
Các bước thực hiện cũng giống như trên, chúng ta cần vào trang quản trị của website, chọn Plugins –> Addnew –> Search, gõ vào ô tìm kiếm WP Super Cache sau đó tìm đến plugin chọn Install –> Active
Sau khi plugin đã acctive, chúng ta vào Plugins tìm đến WP Super Cache kích chọn Setting –> Tích chọn Cache On và nhấn Update Status để cho WP Super Cache hoạt động, muốn biết plugin đã hoạt động chưa, chúng ta có thể nhấn vào Test Cache để kiểm tra , nếu báo OK thì plugin cache đã hoạt động tốt không bị lỗi.
Thử truy cập vào website thấy tốc độ của website đã thay đổi hẳn, rất nhanh so với khi không có plugin cache.
Bây giờ chúng ta sẽ dùng lệnh ./wrk -t20 -c10000 -d60s http://tadutest.com để thực hiện 10000 request vào website nhằm đánh giá Benchmark đối với plugin WP Super Cache và đồng thời là truy cập lại trang web sau khi thực hiện lệnh:
Chúng ta nhận thấy rằng, cũng như plugin W3 Total Cache, thì plugin WP Super Cache trước khi thực thi request một lượng lớn vào website thì plugin không thể tạo ra bộ đệm tốt để hỗ trợ cache trang, và lúc này website load trang rất chậm và nếu thao tác reload lại sẽ làm sập trang và website báo lỗi kết nối dữ liệu.
LiteSpeed Cache
LiteSpeed Cache là một plugin PHP giúp cải thiện hiệu suất trang web WordPress bằng cách tận dụng bộ nhớ cache của trang được xây dựng trên LiteSpeed Web Server. Vì bộ nhớ cache (bộ nhớ đệm), nội dung các trang sẽ được lưu lại và tự động tạo ra.Nếu bạn đang sử dụng VPS với web server LiteSpeed thì LiteSpeed Cache là sự lựa chọn không thể tuyệt vời hơn để tối ưu tốc độ load cho blog/ website. Không chỉ sở hữu khả năng tạo bộ nhớ đệm cho server, LiteSpeed Cache còn được tích hợp sẵn tính năng tạo browser cache, object cache, opcode cache, tối ưu CSS, JS, HTML… và hỗ trợ sẵn cả CDN, CloudFlare.
Chúng ta sẽ đánh giá sự vượt trội của LiteSpeed Cache qua Benchmark bằng công cụ và tập lệnh của wrk như đã thực hiện với hai plugin W3 Total Cache và WP Super Cache:
Cũng như hai plugin trược để thực hiện bài đánh giá, chúng ta sẽ truy cập vào trang quản trị và cấu hình cài đặt plugin LiteSpeed Cache, các bạn có thể tham khảo lại hướng dẫn cài đặt plugin LiteSpeed Cache ở đường dẫn sau: https://blog.tadu.vn/huong-dan-cai-dat-plugin-litespeed-cache-cho-website-wordpress/
Sau khi cài đặt và cấu hình plugin LiteSpeed, chúng ta sẽ dùng tập lệnh :
./wrk -t20 -c10000 -d60s http://tadutest.com/
để thực hiện 10000 request vào website, nhớ rằng nếu bị báo lỗi “unable to create thread 7: Too many open files ” thì dùng lệnh dưới:
ulimit -Hn 1000000
Sau đó dùng lại lệnh ./wrk -t20 -c10000 -d60s http://tadutest.com/ để thực hiện request và kiểm tra benchmark của LiteSpeed Cache bằng cách truy cập website lại trên trình duyệt. Thật bất ngờ với kết quả trước khi thực hiện và dòng lệnh và sau khi thực hiện lệnh để request, chúng ta có thể nhận thấy rằng ban đầu website load rất nhanh, nhưng khi có 10000 request vào website thì dù reload và kích chọn các thư mục trang ta vẫn thấy được website vẫn đang truy cập ổn định tuy có chậm hơn khoảng 1 đến 2 giây so với ban đầu chưa thực thi.
Chúng ta nhận thấy rằng trong 3 loại plugin W3 Total Cache, WP Super Cache và LiteSpeed Cache, qua đánh giá Benchmark của từng plugin cụ thể chúng ta đã thấy được plugin nào hỗ trợ tốt nhất cho website và cho các bạn thấy rõ hơn để lựa chọn plugin phù hợp với website đang sử dụng.