
Cloudflare cải thiện hiệu suất cache cho file lớn với Origin Range Requests
"Cloudflare introduced 'Origin Range Requests', a new feature to improve the efficiency of handling HTTP range requests for large files. The previous implementation relied on fixed-size caching ranges which led to wasted bandwidth and performance issues; the new implementation leverages fixed-size cache chunks to reduce origin pulls and improve response times, particularly for R2 object storage. This feature is available on all plans via Cache Rules."
Tính năng này không trực tiếp liên quan đến lỗ hổng bảo mật, nhưng việc cải thiện hiệu suất cache có thể gián tiếp giảm nguy cơ tấn công từ chối dịch vụ (DoS) bằng cách giảm tải cho origin server.
Việc giảm băng thông và cải thiện thời gian phản hồi có thể giảm chi phí vận hành và nâng cao trải nghiệm người dùng, đặc biệt quan trọng đối với các dịch vụ streaming hoặc tải xuống file lớn. Hiệu suất cache tốt hơn cũng có thể giúp giảm tải cho origin server.
Cloudflare vừa ra mắt tính năng Origin Range Requests, giúp cải thiện cách xử lý HTTP range requests cho các file lớn. Trước đây, việc cache range request gặp vấn đề về băng thông và hiệu suất do sử dụng các khoảng cache cố định. Tính năng mới sử dụng các chunk cache có kích thước cố định, giảm số lần kéo dữ liệu từ origin và cải thiện thời gian phản hồi, đặc biệt với R2 object storage.
Tính năng này có sẵn trên tất cả các gói dịch vụ thông qua Cache Rules. Việc cấu hình trở nên đơn giản hơn, không cần điều chỉnh kích thước range hay liên hệ hỗ trợ.
HTTP range request cho phép yêu cầu chỉ một phần của tài nguyên thay vì toàn bộ. Ví dụ, một video player có thể chỉ yêu cầu vài megabyte xung quanh vị trí seek hiện tại. Origin Range Requests thay đổi cách Cloudflare đáp ứng yêu cầu này.
Trước đây, Cloudflare sử dụng cách chia nhỏ file thành các range cố định. Kích thước range này tạo ra sự đánh đổi: range nhỏ dẫn đến nhiều request nhỏ đến origin và áp lực lên bộ nhớ, trong khi range lớn lại tải về nhiều dữ liệu hơn mức cần thiết. Việc thay đổi kích thước range cũng làm mất hiệu lực cache. Hơn nữa, các request đồng thời trong cùng một range có thể chặn lẫn nhau, và không tương thích với concurrent streaming (truyền tải liên tục).
Giải pháp mới dựa trên việc Pingora (server cache mới của Cloudflare) lưu trữ file đã cache thành các chunk cố định. Khi nhận range request, Cloudflare kiểm tra xem đã cache được byte nào chưa, trả về ngay nếu có. Với byte còn thiếu, Cloudflare sẽ kéo range từ origin, căn chỉnh theo ranh giới chunk cache, lưu vào chunk và trả về cho client. Ví dụ, yêu cầu byte 150-250 có thể dẫn đến việc tải chunk chứa các byte đó, và chỉ trả về 150-250 cho client. Điều này giúp giảm thiểu lãng phí băng thông và cải thiện hiệu suất. Cache metadata được cập nhật để theo dõi các range đã được cache.
Góc nhìn của Orange Cloud
Theo chúng tôi, Origin Range Requests là một cải tiến đáng chú ý cho các doanh nghiệp Việt Nam sử dụng Cloudflare để phân phối nội dung lớn như video, hình ảnh hoặc file tải xuống. Việc giảm băng thông và cải thiện thời gian phản hồi có thể trực tiếp tác động đến trải nghiệm người dùng và chi phí vận hành. Các doanh nghiệp nên thử nghiệm tính năng này thông qua Cache Rules để đánh giá hiệu quả trên ứng dụng thực tế. Điều đáng chú ý là việc triển khai không yêu cầu cấu hình phức tạp, giúp giảm gánh nặng cho đội ngũ kỹ thuật.