Cloudflare, 1.1.1.1 DNS hizmeti de dahil olmak üzere tüm DNS çözücülerini çalıştıran Big Pineapple platformunda beş kritik Rust optimizasyonu uygulayarak, sistemde aynı anda tutulan 250 milyardan fazla önbellek kaydının bellek tüketimini 953 bayttan 420 bayta düşürdü. Bu iyileştirme, yaklaşık 100 terabayt (TB) RAM'in serbest kalmasına yol açtı ve şirketin 130 Gen‑13 sunucusundaki toplam RAM kapasitesine yakın bir tasarruf sağladı.
Yapılan değişiklikler, sadece bellek kullanımını azaltmakla kalmadı; aynı zamanda performans üzerinde de olumlu etkiler yarattı. Optimizasyonların ardından önbelleğe yeni kayıt ekleme hızı %43 oranında artarken, DNS sorgularının yanıt süresi %19 azaldı. Bu sonuçlar, Cloudflare’ın DNS hizmetlerinin ölçeklenebilirliğini ve yanıt hızını artırarak, kullanıcı deneyimini doğrudan iyileştirdi.
Big Pineapple platformu yalnızca 1.1.1.1 genel DNS çözücüsünü değil, aynı zamanda Gateway DNS, DNS Firewall, AS112 ve şirketin diğer temel DNS hizmetlerini de aynı altyapı üzerinde çalıştırıyor. Sistem, her an 250 milyardan fazla kaydı bellekte tutuyor; bu ölçekle her bir kayıt için yalnızca 1 bayt gereksiz bellek harcaması, toplamda 250 GB'dan fazla RAM tüketimine yol açıyor. Optimizasyonlar, bu gereksiz kullanımın büyük bir kısmını ortadan kaldırdı.
Platformun çalışma mantığı, yeniden başlatıldığında önbelleğin boş bir durumdan başlaması ve gelen DNS sorgularına yanıt verildikçe yeni kayıtların belleğe eklenmesi üzerine kurulu. Belirlenen maksimum kayıt sayısına ulaşıldığında, daha eski veya daha az kullanılan kayıtlar otomatik olarak çıkarılarak yer açılıyor. Özellikle EDNS Client Subnet (ECS) gibi özelliklerin aktif olduğu veri merkezlerinde aynı sorgunun farklı yanıtları saklanabildiği için, kayıt sayısı ve kapladığı alan daha yüksek seviyelere çıkabiliyor.
Her önbellek girdisi, anahtar‑değer çiftinden oluşuyor; anahtar kısmında sorgulanan alan adı, kayıt türü, yanıtın doğrulanıp doğrulanmadığı ve ECS gibi etiketler bulunurken, değer kısmında ise DNS yanıtının answer, authority ve additional bölümleri, oluşturulma zamanı, TTL, kullanım sayacı ve hata bilgileri yer alıyor. Cloudflare’ın yaptığı inceleme, bir kez önbelleğe alındıktan sonra bu yapılarda gereksiz ek kapasite ve veri alanlarının bulunduğunu ortaya koydu.
Değişikliklerin etkisini ölçmek amacıyla üretim trafiğine yakın bir test ortamı oluşturuldu. Test kayıtlarının %56'sı IPv4 için A, %25'i IPv6 için AAAA ve %19'u TXT kayıtlarından oluşuyordu. Her önbellek girdisine bir ila dört DNS kaydı yerleştirildi; TXT kayıtları 64‑224 bayt arasında değişen boyutlarda idi. Rust’ın System allocator’ını saran özel bir allocator ile bellek tahsislerinin sayısı ve boyutu izlendi, ekleme performansı ve sorgu gecikmesi ölçüldü. Test sonuçları, gerçek üretim sunucularındaki bellek kullanımına kıyasla belirgin bir iyileşme gösterdi.
İlk büyük tasarruf, Rust’taki Vec<T> ve S… (metnin devamı kaynakta kesildi) gibi veri yapılarına yapılan optimizasyonlarla elde edildi. Bu teknik adımlar, Cloudflare’ın DNS altyapısının hem maliyet etkinliğini hem de hizmet kalitesini artırarak, küresel internet trafiğinin daha hızlı ve daha verimli yönlendirilmesine katkı sağladı.