Cache DNS Cloudflare menyimpan lebih dari 25 miliar entri, dan setiap byte yang terbuang menghabiskan 250GB di seluruh jaringan. Dengan melakukan lima perubahan berturut-turut pada cara entri disimpan di memori, mereka mengurangi jejak per entri lebih dari 50%, membebaskan sekitar 100 terabyte RAM—setara dengan 130 server Gen 13. Optimasi juga meningkatkan kinerja: throughput penyisipan naik 43% dan latensi pencarian turun 19%, membuktikan bahwa mengurangi penggunaan memori dapat mempercepat operasi.
Perubahan kunci melibatkan penggantian tipe Vec dan String dengan Box<[T]> dan Box<str>, menghilangkan bidang kapasitas yang tidak perlu dan alokasi heap berlebihan. Setiap entri cache awalnya menggunakan 8 bidang Vec/String, masing-masing dengan overhead 24 byte; dengan beralih ke slice, mereka menghemat 64 byte per entri. Ini diukur melalui benchmark dengan alokator khusus dan divalidasi di produksi, di mana penghematan memori signifikan tanpa mengorbankan kecepatan.
Artikel ini merinci proses teknis, dari benchmarking dengan lalu lintas representatif (56% catatan A, 25% AAAA, 19% TXT) hingga peluncuran bertahap di pusat data. Ini menekankan bahwa penghematan kecil per entri terakumulasi secara masif dalam skala besar, dan profiling yang cermat dapat menghasilkan keuntungan baik memori maupun kinerja.
Entitas kunci: Perusahaan: Cloudflare
Sumber: Hacker News · Diringkas oleh HeadlinesBriefing