KIẾN THỨC LÀ VÔ TẬN

ĐI MỘT NGÀY ĐÀNG HỌC MỘT SÀNG KHÔN

Quay lại tin Tin tức

Cloudflare thử nén cache bằng Zstandard trong Pingora: tăng dung lượng hữu dụng tới gần 2,8 lần

Tech #88 Đăng bởi PVYSTORE 2026-09-02 08:02:50 👁 18 lượt xem
Cloudflare thử nén cache bằng Zstandard trong Pingora: tăng dung lượng hữu dụng tới gần 2,8 lần

Bài viết này do AI tạo ra, có thể mắc sai sót.

Cloudflare công bố thử nghiệm Cache Transcoding, cơ chế lưu bản sao nội bộ của nội dung cache bằng Zstandard (zstd) trong proxy Pingora. Mục tiêu là tăng dung lượng cache hữu dụng và giảm lượng dữ liệu chạy giữa các data center, nhưng vẫn trả nguyên byte nội dung gốc cho người dùng ở chặng cuối.

Tóm tắt nhanh

Nén ở trong cache, không thay đổi nội dung gửi tới client

Khi cache miss, proxy Pingora lấy identity bytes từ origin, nén body bằng zstd rồi ghi bản nén xuống disk. Metadata giữ lại thông tin biểu diễn lưu trữ và kích thước gốc. Trước khi response rời proxy về phía client, hệ thống giải nén lại identity representation; do đó cơ chế này không đòi trình duyệt hỗ trợ định dạng trả về mới.

Ở cache hit, edge đọc object zstd trên disk rồi giải nén để phục vụ request. Với Tiered Cache, object giữ dạng nén khi đi từ upper tier xuống lower tier; chỉ giải nén ở chặng hướng client. Khi lower tier miss nhưng upper tier đã có object, origin không bị gọi lại.

Vì sao Cloudflare không nén mọi thứ

Ảnh, video và font thường đã nén. Trong mẫu của Cloudflare, nhóm này chiếm 21,4% request nhưng tới 63,3% byte; nén lần nữa chủ yếu tốn CPU mà ít lợi ích. Ngược lại, text chưa có Content-Encoding là vùng có thể tăng mật độ cache rõ nhất.

Bộ lọc còn loại trừ range request, slice subrequest, response đã nén upstream, body độ dài không xác định và dữ liệu nhị phân. Ngưỡng 4 KiB loại nhiều object nhỏ nhưng bỏ qua chỉ khoảng 1% số byte vốn đủ điều kiện trong phép đo của hãng.

Đánh đổi CPU và dung lượng

Nén không miễn phí: encode xảy ra khi object vào cache, decode xảy ra mỗi lần serve. Cloudflare chọn zstd level 3 để lấy phần lớn lợi ích nén mà không biến cache fill thành nút thắt CPU. Theo mô hình thử nghiệm của hãng, phụ phí CPU chỉ ở mức vài phần trăm với giả định traffic và tần suất tái sử dụng đã đo.

Họ từng cân nhắc chỉ nén object “hot”, nhưng kết quả không tốt hơn: object hot cũng là object bị decode nhiều nhất. Chính sách nén tất cả text đủ điều kiện từ 4 KiB được cho là cân bằng tốt hơn giữa storage saving và CPU budget.

Kết quả thử nghiệm và giới hạn

Cloudflare chạy chiến dịch trên hơn một triệu request qua 10 cache server, chia một nửa có Tiered Cache và một nửa không có để tách tác động của cache cục bộ với truyền giữa các tầng. Hai asset mẫu khoảng 195 KiB và 272 KiB, đều nén được khoảng 2,8 lần.

Con số này không phải mức tiết kiệm mặc định cho mọi website. Hãng nhấn mạnh corpus thử có chủ đích dễ nén, nên cần đánh giá thêm trên nhiều content type, object size, zstd level, range request và response origin đã nén trước khi suy rộng ra toàn fleet.

Phân tích

Với vận hành CDN, lợi ích lớn nhất không nằm ở việc browser tải nhỏ hơn — payload gửi ra vẫn là representation gốc — mà là giảm disk footprint và backbone traffic bên trong mạng CDN. Một object được nén một lần khi fill rồi tái sử dụng nhiều lần có thể giúp cùng cụm máy giữ được nhiều object hơn, giảm eviction và giảm nhu cầu mở rộng storage.

Đây cũng là ví dụ tốt cho đội ngũ tự vận hành reverse proxy/cache: không nên bật nén nội bộ bừa bãi. Cần phân loại MIME type, tôn trọng content đã nén, đặt ngưỡng kích thước, đo CPU/latency riêng cho hit và miss, rồi kiểm thử tính đúng đắn của cache key, range và tiering. Với traffic nhỏ hoặc cache hit rate thấp, chi phí triển khai có thể lớn hơn lợi ích.

Nguồn tham khảo

Cloudflare Blog, “How we could save petabytes of cache storage with Zstandard and Pingora”, công bố ngày 01/09/2026. Nội dung được đối chiếu trực tiếp từ bài viết kỹ thuật chính thức của Cloudflare.

× Zalo QR Alexz