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

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

Tất cả tin tức

Cloudflare Origin Range Requests: giảm TTFB R2, bỏ gánh tuning range cache

Tech #222 Đăng bởi PVYSTORE 2026-10-24 08:05:45 👁 4 lượt xem
Cloudflare Origin Range Requests: giảm TTFB R2, bỏ gánh tuning range cache

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

Cloudflare công bố Origin Range Requests cho mọi gói dịch vụ. Tính năng mới thay đổi cách CDN xử lý HTTP byte-range với file lớn: người dùng bật bằng Cache Rule, còn edge tự phối hợp dữ liệu đã cache, đang tải và phần còn thiếu từ origin.

Tóm tắt nhanh

Vấn đề của cache range cố định

Client gửi header Range để xin một phần file, ví dụ khi tua video hoặc tiếp tục download. Cách cache range cũ phải chọn một kích thước block cố định: block nhỏ tạo nhiều request origin và áp lực bộ nhớ; block lớn lại kéo quá nhiều byte so với nhu cầu client.

Cloudflare nêu ví dụ R2 từng dùng range 64 MiB. Một read nhỏ nằm trên ranh giới range có thể làm phát sinh 128 MiB dữ liệu truyền giữa data center. Cấu hình range còn trở thành một phần cache key, nên đổi kích thước có thể làm cache bị invalidation.

Pingora phối hợp dữ liệu theo chunk

Kiến trúc mới dựa trên cache server Pingora. File cache trên disk vốn được lưu thành chunk kích thước cố định; edge kiểm tra byte nào đã có, lấy phần thiếu từ origin theo ranh giới chunk rồi chỉ trả lại đúng byte client yêu cầu.

Một response có thể ghép từ prefix đang nằm trên disk, một download đang diễn ra và suffix vừa lấy upstream. Nếu request khác đang tải các byte cần thiết, request mới có thể bám vào download đó thay vì tạo thêm origin fetch.

Tính đúng đắn HTTP vẫn là điều kiện bắt buộc

Ghép range chỉ an toàn khi mọi byte thuộc cùng một representation. Hệ thống kiểm tra range origin trả về, tổng kích thước asset và entity tag; If-Range giúp tránh ghép các byte từ hai phiên bản khác nhau.

Với range hợp lệ, client nhận 206 Partial Content và Content-Range chính xác. Range không thỏa nhận 416 Range Not Satisfiable. Nếu response bị transform/decompress khiến range không còn an toàn, edge trả full representation.

Khi nào nên bật

Tính năng không biến object không cacheable thành cacheable. Origin vẫn cần hỗ trợ byte range để partial fetch đem lại hiệu quả.

Phân tích

Điểm đáng giá là Cloudflare loại bỏ một tuning knob dễ gây tác dụng ngược. Thay vì bắt đội vận hành đoán range size đúng cho mọi loại file và traffic, CDN dùng chunk nội bộ cùng metadata coverage để kiểm soát phần dữ liệu thừa theo cách có giới hạn và dự đoán được.

Với website phân phối video, firmware, ISO, package hoặc model file, nên bật thử theo path riêng bằng Cache Rule, theo dõi origin egress, TTFB p95/p99, cache hit ratio và response 206 trước khi mở rộng. Không nên áp dụng mù quáng cho đường dẫn có nội dung động, authorization phức tạp hoặc origin không trả range chuẩn.

Nguồn tham khảo

Cloudflare Blog, “Origin Range Requests: Serving large files without range-request tuning”, 23/10/2026. Không chèn liên kết nguồn ngoài trong nội dung công khai.

× Zalo QR Alexz