Categories Cache

Tôi có cần plugin cache (LiteSpeed cache, WP-Rocket, v.v) nếu đã dùng cache phía máy chủ (FastCGI)

Nhiều nhà cung cấp hosting hiện tự xây dựng công nghệ caching phía máy chủ. Vì thế có thể bạn sẽ tự hỏi rằng: liệu bạn có cần thêm plugin cache nữa hay không?

Tôi có thấy một số nhà cung cấp hosting nói rằng khách hàng của họ không cần plugin cache nữa bởi vì họ đã có tính năng cache phía máy chủ (server-side caching).

Nhưng liệu như thế có đủ hay không?


Cache phía máy chủ nghĩa là gì?

Khi một yêu cầu gửi đến máy chủ của bạn, WordPress thực thi hàng tá các đoạn mã PHP và MySQL.

Mỗi lần bạn mở một trang page/post, nó thực thi tối thiểu 27 truy vấn MySQL. Và 27 chỉ là con số mặc định mà thôi, nó có thể leo lên đến 50 hoặc 100 tùy thuộc vào theme (giao diện) của bạn và số lượng plugin bạn cài đặt. Mỗi truy vấn như vậy có thể mất vài mili giây phụ thuộc vào kích cỡ của truy vấn SQL và dữ liệu trong database (cơ sở dữ liệu) của bạn.

Tổng hợp tất cả các thực thi PHP và MySQL này, TTFB (Time to First Byte) có thể rơi vào khoảng một giây, thậm chí còn hơn.

Cache phía máy chủ loại bỏ quá trình này bằng cách lưu trữ bản sao của HTML trong đĩa cứng (disk) hoặc RAM. Điều này giúp giảm TTFB và giảm tiêu thụ tài nguyên của server. Bởi vì máy chủ chỉ cần phục vụ file tĩnh đã tạo sẵn.

Các công ty hosting khác nhau cung cấp đa dạng các giải pháp cache phía máy chủ khác nhau. Phổ biến nhất là FastCGI caching trên Nginx (ví dụ GridPane). Varnish (ví dụ Dreamhost), Redis, Memcache (ví dụ SiteGround) cũng là các lớp caching tương tự.

Nếu bạn cache các trang HTML trên CloudFlare, nó cũng được coi là một loại cache phía máy chủ.


Điều mà Plguin cache làm được trong khi kiểu cache phía máy chủ lại không thể?

Hầu hết các plugin cache tạo ra các trang HTML giống như cách cache phía máy chủ đang làm. Nhưng plugin cache còn làm được hơn thế ở phần tối ưu front-end, những cái mà cache phía máy chủ không thể làm được.

Dưới đây là một vài cái:

Có nhiều tính năng mà plugin cache có thể làm được phụ thuộc vào việc bạn đang dùng plugin cache nào.

Plugin cache ưu thích của tôi là WP-Rocket.


Đánh giá riêng của người dịch

Tôi không hoàn toàn đồng tình với tác giả. Ý của tôi là:

Bạn có thể không cần dùng plugin cache khi đã có cache phía máy chủ

Lý do nằm ở chỗ:

  • Cache phía máy chủ, các file tĩnh được lưu trên bộ nhớ trong RAM nên sẽ cho tốc độ truy cập cao hơn hẳn so với plugin cache tạo ra file tĩnh lưu trên đĩa cứng;
  • Các tính năng như lazy load, tải không đồng bộ, tối ưu hóa dung lượng, tạo ra đường dẫn CSS quan trọng hoàn toàn có thể thực hiện thông qua một vài plugin đơn giản khác, chẳng hạn như Autoptimize;
  • Việc dùng plugin cache loại bỏ gần như hoàn toàn lợi ích của cache phía máy chủ (tức là chỉ cần một trong hai loại cache là đủ);
  • Mọi người thường phải bỏ tiền ra mua plugin cache để an tâm việc cache được tiến hành chuẩn xác và tốt nhất có thể. Điều này thường không thành vấn đề nếu bạn chỉ có 1 website, nhưng nếu có nhiều thì chi phí sẽ đội lên tương đối, nhất là với những ai không có điều kiện về tài chính.

Tuy nhiên trong một số trường hợp tôi ủng hộ việc sử dụng plugin cache:

  • Bạn có lưu lượng truy cập website lớn thì sử dụng plugin cache sẽ giảm tải RAM cho bạn rất nhiều. Nếu vẫn dùng cache phía máy chủ trong khi có lưu lượng truy cập lớn, đòi hỏi bạn sẽ phải bỏ ra chi phí lớn hơn nhiều. Tất nhiên điều này chỉ ổn khi bạn có kinh phí.

(Dịch từ bài viết Do I need a Cache Plugin with Server Side Cache (FastCGI)?, tác giả: Gijo Varghese, website: WP Speed Matters)

Back to Top