Tôi có cần Plugin Cache nếu đã dùng cache phía máy chủ (FastCGI)

bởi Nguyễn Đức Anh
cache phía máy chủ

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 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 đ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 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ủ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. Varnish, Redis, Memcache 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:

  • Tạo ra đường dẫn CSS quan trọng – Nâng cao FCP (First Contentful Paint), và giờ là một trong các tín hiệu xếp hạng trong Google SERP (trang kết quả tìm kiếm của Google).
  • Trì hoàn tải JavaScript & CSS – Loại bỏ các mã chặn hiển thị bằng cách tải chúng không đồng bộ.
  • Thu nhỏ dung lượng CSS và JavaScript.
  • Lazy loading – Lazy load ảnh, video, và các thành phần nhúng tương tự.

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ả rằng bạn nê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 cao 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 plugin đơn giản, 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ủ
  • 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 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)

0 bình luận

Khu vực bình luận

avatar