Cloudflare tiết kiệm 100 TB RAM chỉ bằng cách tối ưu phần mềm cho DNS 1.1.1.1

Cloudflare vừa tiết lộ một dự án tối ưu hóa bộ nhớ đáng chú ý phía sau dịch vụ DNS 1.1.1.1. Bằng cách thay đổi cách dữ liệu được lưu trữ trong bộ nhớ đệm, công ty đã cắt giảm hơn một nửa lượng RAM cần thiết, giải phóng khoảng 100 TB bộ nhớ trên toàn hệ thống mà không phải nâng cấp hay thay thế bất kỳ phần cứng nào.

Thay vì mua thêm máy chủ hoặc nâng cấp dung lượng RAM, các kỹ sư Cloudflare đã tập trung vào chính phần mềm đang vận hành hệ thống. Dự án được thực hiện trên Big Pineapple, nền tảng bộ nhớ đệm DNS đứng phía sau trình phân giải 1.1.1.1, dịch vụ tường lửa DNS và một số sản phẩm DNS khác của công ty.

Trong bài viết trên blog kỹ thuật của Cloudflare, kỹ sư hệ thống Sebastiaan Neuteboom cho biết nhóm phát triển đã thực hiện năm thay đổi đối với mã nguồn Rust của Big Pineapple. Kết quả là kích thước của một mục dữ liệu DNS điển hình đã giảm từ 953 byte xuống chỉ còn 420 byte.

Con số này có vẻ không lớn nếu xét trên một mục dữ liệu riêng lẻ. Tuy nhiên, Big Pineapple đang phải lưu trữ hơn 250 tỷ bản ghi DNS tại bất kỳ thời điểm nào. Khi được nhân lên ở quy mô toàn hệ thống, vài trăm byte tiết kiệm trên mỗi mục có thể tương đương hàng chục terabyte RAM.

Cloudflare tiết kiệm 100 TB RAM chỉ bằng cách tối ưu phần mềm cho DNS 1.1.1.1

Cloudflare giải phóng 100 TB RAM mà không cần thay phần cứng

Theo Cloudflare, quá trình triển khai tối ưu hóa diễn ra từ giữa tháng 5 đến đầu tháng 7. Trong thời gian này, mức sử dụng bộ nhớ p99 trên mỗi phiên bản Big Pineapple đã giảm từ 9,3 GB xuống còn 5,3 GB.

Đáng chú ý, hiệu suất hệ thống cũng được cải thiện thay vì giảm xuống do sử dụng cấu trúc dữ liệu nhỏ gọn hơn.

Thông lượng chèn dữ liệu tăng từ 625.000 lên 893.000 mục mỗi giây, trong khi độ trễ tìm kiếm giảm từ 828 nano giây xuống 670 nano giây.

Như vậy, Cloudflare vừa giảm đáng kể nhu cầu RAM, vừa giúp hệ thống xử lý dữ liệu nhanh hơn.

Ở quy mô của một mạng lưới DNS toàn cầu, hiệu quả này đặc biệt đáng kể. Cloudflare ước tính rằng chỉ cần dư thừa 1 byte trên mỗi mục DNS cũng có thể tiêu tốn hơn 250 GB RAM khi hệ thống phải lưu trữ 250 tỷ mục.

Rust giúp Cloudflare loại bỏ lượng lớn bộ nhớ dư thừa

Một trong những thay đổi quan trọng nhất liên quan đến cách Big Pineapple sử dụng hai kiểu dữ liệu Vec và String trong Rust.

Các cấu trúc này được thiết kế để có thể mở rộng khi cần thiết. Vì vậy, chúng phải lưu thêm một lượng siêu dữ liệu phục vụ quá trình quản lý dung lượng.

Tuy nhiên, dữ liệu DNS sau khi được đưa vào bộ nhớ đệm của Cloudflare thường không cần tiếp tục mở rộng. Các kỹ sư nhận thấy phần thông tin phục vụ khả năng mở rộng này không thực sự cần thiết và thay thế chúng bằng những cấu trúc có kích thước cố định.

Riêng thay đổi này đã giúp Cloudflare tiết kiệm hơn 15 TB RAM trên toàn hệ thống.

Các kỹ sư cũng thiết kế lại cách lưu trữ phản hồi DNS. Trước đây, Big Pineapple sử dụng ba danh sách bản ghi riêng biệt cho mỗi phản hồi. Thiết kế mới gom chúng vào một vùng bộ nhớ đệm duy nhất và sử dụng các độ lệch dài hai byte để xác định vị trí từng bản ghi.

Cách tiếp cận này giúp giảm lượng siêu dữ liệu cần thiết và tận dụng không gian bộ nhớ hiệu quả hơn.

Cloudflare loại bỏ dữ liệu DNS trùng lặp

Một phần bộ nhớ khác được tiết kiệm nhờ loại bỏ những thông tin mà hệ thống có thể tự tạo lại.

Trước đây, bộ nhớ đệm lưu cả tên chủ sở hữu của các bản ghi DNS, ngay cả trong trường hợp tên này chỉ đơn giản lặp lại tên miền mà người dùng đang truy vấn.

Thiết kế mới không lưu thông tin đó trong những trường hợp không cần thiết. Thay vào đó, Cloudflare sẽ xây dựng lại tên miền khi tạo phản hồi gửi về cho người dùng.

Các bản ghi DNS cũng được lưu dưới dạng dữ liệu byte thô kèm tiền tố độ dài. Điều này giúp tránh tình trạng một bản ghi rất nhỏ phải chiếm cùng lượng bộ nhớ với một loại bản ghi lớn hơn.

Ví dụ, một bản ghi IPv4 A chỉ cần 4 byte dữ liệu, nhưng trong thiết kế cũ vẫn có thể tiêu tốn tới 144 byte, tương đương với kích thước dành cho những loại bản ghi DNS lớn hơn và hiếm gặp như NAPTR.

Việc chuyển sang định dạng có độ dài thay đổi giúp hệ thống phân bổ bộ nhớ sát với kích thước thực tế của từng bản ghi hơn.

Cloudflare tiết kiệm 100 TB RAM chỉ bằng cách tối ưu phần mềm cho DNS 1.1.1.1 2

100 TB RAM tương đương 130 máy chủ

Để hình dung quy mô của khoản tiết kiệm, Cloudflare cho biết 100 TB RAM được giải phóng tương đương dung lượng bộ nhớ của khoảng 130 máy chủ Gen 13, nếu mỗi máy được trang bị 768 GB DDR5-6400.

Đây là con số đáng chú ý trong bối cảnh giá bộ nhớ máy chủ ngày càng tăng. Cloudflare từng cân nhắc cấu hình lên tới 1.152 GB RAM cho thế hệ máy chủ này nhưng cuối cùng không lựa chọn do chi phí bộ nhớ dung lượng cao quá lớn.

Thay vì tiếp tục bổ sung phần cứng, việc tối ưu phần mềm mang lại cho công ty một cách tiếp cận tiết kiệm hơn và đồng thời cải thiện hiệu suất.

Cloudflare hiện dự định sử dụng phần RAM được giải phóng để mở rộng dung lượng bộ nhớ đệm DNS. Khi có thể lưu trữ nhiều bản ghi hơn trên máy chủ, tỷ lệ truy cập thành công vào bộ nhớ đệm có thể tăng lên, qua đó giảm số lượng truy vấn phải chuyển đến các máy chủ DNS có thẩm quyền.

Điều này không chỉ giúp tiết kiệm RAM mà còn có thể giảm lưu lượng mạng và cải thiện hiệu quả hoạt động của toàn hệ thống.

Dự án tối ưu hóa Big Pineapple tiếp nối một nỗ lực tương tự của Cloudflare vào năm ngoái, khi công ty viết lại lớp xử lý yêu cầu FL2 bằng Rust. Những dự án như vậy cho thấy trong các hệ thống có quy mô hàng trăm tỷ dữ liệu, tối ưu từng byte bằng phần mềm đôi khi mang lại hiệu quả tương đương việc bổ sung cả một lượng lớn phần cứng mới.

Bài liên quan

Bài đọc nhiều nhất

Bài mới trong ngày

Bị phát hiện tay trong tay hẹn hò, cựu thần tượng =LOVE Saito Nagisa bị khui chuyện tình cảm cùng nam thần bóng chày Urata Shunsuke

Bị phát hiện tay trong tay hẹn hò, cựu thần tượng =LOVE Saito Nagisa bị khui chuyện tình cảm cùng nam thần bóng chày Urata Shunsuke

hoanlagvnDũng Nhỏ TT

Một thông tin độc quyền vừa làm chấn động giới truyền thông và làng giải trí xứ sở hoa anh đào. Tạp chí danh tiếng Shukan Bunshun mới đây đã bất ngờ tung ra loạt hình ảnh và bằng chứng đắt giá, phơi bày mối quan hệ tình cảm lãng mạn giữa cựu thành viên nhóm nhạc nữ đình đám =LOVE kiêm diễn viên triển vọng Saito Nagisa (23 tuổi) và ngôi sao bóng chày đang lên Urata Shunsuke (23 tuổi) — tài năng trẻ thuộc biên chế câu lạc bộ lừng danh Yomiuri Giants.

Giải trí
Thực hư thông tin manga "One Piece" sẽ kết thúc trong vòng 4 năm nữa: Lời khẳng định từ Eiichiro Oda hay chỉ là đòn "giật tít"?

Thực hư thông tin manga "One Piece" sẽ kết thúc trong vòng 4 năm nữa: Lời khẳng định từ Eiichiro Oda hay chỉ là đòn "giật tít"?

hoanlagvnDũng Nhỏ TT

Một làn sóng hoang mang và tranh luận nảy lửa vừa bùng nổ khắp các diễn đàn người hâm mộ "One Piece" trên toàn cầu. Hàng loạt trang tin giải trí quốc tế bất ngờ lan truyền thông tin tác giả Eiichiro Oda đã đích thân xác nhận bộ manga huyền thoại sẽ chính thức khép lại hành trình sau 4 năm nữa, nhân sự kiện One Piece Day diễn ra vào ngày 23 tháng 8 năm 2026.

Giải trí
Lên đầu trang