How we saved 100 terabytes of memory by optimizing 1.1.1.1’s DNS cache
Cloudflare’s 1.1.1.1 công khai DNS resolver duy trì một bộ nhớ cache lớn để xử lý hàng tỷ truy vấn mỗi ngày. Đội ngũ đã thực hiện năm tối ưu hoá cấp Rust trong bố cục mục cache: tái cấu trúc struct, sử dụng kiểu số nguyên gọn gàng, loại bỏ padding, áp dụng arena allocation và lưu trữ trước giá trị băm, giảm kích thước mỗi mục xuống 56 %. Khi mở rộng ra toàn bộ hạ tầng toàn cầu, việc này giải phóng khoảng 100 TB RAM, tạo thêm dung lượng cho các đợt lưu lượng cao và giảm chi phí vận hành. Bài học là việc kiểm soát bố cục dữ liệu và khai thác khả năng kiểm soát bộ nhớ của Rust có thể tiết kiệm tài nguyên lớn ngay cả ở các dịch vụ quy mô lớn. Đọc bài gốc sẽ cung cấp các con số cụ thể và hướng dẫn chi tiết từng bước để áp dụng các tối ưu hoá tương tự vào các cache khác.
Bài viết tiết lộ những tối ưu hóa cấp độ Rust giúp tiết kiệm 100 terabyte bộ nhớ cho cache DNS của Cloudflare.
