
Cloudflare 1.1.1.1 DNS keşini optimallaşdıraraq 100 terabayt yaddaş qazandı
Keş qeydlərinin saxlanma strukturundakı beş dəyişiklik bir qeydin həcmini 56% azaldıb. Yerləşdirmə sürəti 43% artıb, axtarış gecikməsi isə 19% azalıb. Yayım 2026-cı ilin may–iyul aylarında tamamlanıb.
Cloudflare mühəndisləri ardıcıl beş yaddaş optimallaşdırması ilə DNS keşinin istifadə etdiyi yaddaşı yarıdan çox azaldıblar. Şirkətin bloqunda 27 avqustda dərc olunan yazı 1.1.1.1 açıq resolveri ilə yanaşı Gateway DNS, DNS Firewall və AS112 xidmətlərini işlədən Big Pineapple platformasından bəhs edir.
250 milyard qeydlik keş
Big Pineapple hər an 250 milyardan çox DNS keş qeydi saxlayır. Hər qeyd eyni vaxtda yüzlərlə data mərkəzində mövcud olduğundan, qeyd başına xərclənən bir bayt donanma üzrə 250 giqabaytdan çox yaddaşa bərabərdir. Keşdəki hər element açar-dəyər cütüdür: açar nəyin soruşulduğunu (ad, qeyd tipi, autentifikasiya bayrağı, teq) müəyyən edir, dəyər isə cavabın özünü saxlayır — answer, authority və additional bölmələrini, həmçinin yaradılma vaxtı, uğur sayğacı və TTL kimi metadataları.
Keşin ölçüsü data mərkəzindən asılı olaraq dəyişir. EDNS Client Subnet (ECS) istifadə edildikdə səlahiyyətli serverlər müştərinin şəbəkəsindən asılı olaraq fərqli cavablar qaytarır, buna görə Cloudflare eyni sorğunun bir neçə versiyasını saxlayır.
Saxlama strukturunda beş dəyişiklik
Komanda təsiri istehsalat trafikinə yaxın təsadüfi yaradılmış qeydlərlə ölçdü: 56% A, 25% AAAA və 19% TXT, hər elementdə birdən dördə qədər qeyd.
Vec və String sahələrinin Box<[T]> və Box<str> ilə əvəzlənməsi capacity sahəsini və artım üçün saxlanan heap sahəsini aradan qaldırır: sahə başına 8 bayt, qeyd başına 64 bayt və donanma üzrə 15 terabaytdan çox. answer, authority və additional bölmələrini üç ayrı siyahı yerinə 2 baytlıq ofsetlərlə bir siyahıda saxlamaq hər qeyd üçün daha 28 bayt qazandırır. Qeydlərin çoxunda owner soruşulan domenlə eyni olduğundan bu sahə artıq saxlanmır və ad oxuma zamanı keş açarından bərpa olunur.
Digər iki dəyişiklik Rust enum ölçülərinə aiddir. Enum kimi saxlanan qeyd məlumatı həmişə ən böyük variantın ölçüsündə olurdu — NAPTR üçün 144 bayt — halbuki A qeydi yalnız 4 bayt tələb edir, yəni qeydlərin çoxu 120 baytdan çoxunu boş yerə xərcləyirdi. Böyük variantların heap-ə köçürülməsi bunu həll etdi, lakin allokator yuvarlaqlaşdırması və səpələnmiş ayrımlar əlavə etdi. Son addım qeyd məlumatını 2 baytlıq uzunluq prefiksləri ilə tək buferdə xam wire formatında saxlayır: bu, yaddaş yaxınlığını bərpa edir və qeydlərin çoxunun cavaba birbaşa köçürülməsinə imkan verir.
İstehsalatda nəticələr
Benchmarklarda qeyd başına həcm 953 baytdan 420 bayta (−56%), ayrımlar isə 1,1 kilobaytdan 461 bayta (−58%) düşdü. Yerləşdirmə sürəti saniyədə 625 mindən 893 min qeydə (+43%) qalxdı, axtarış gecikməsi 828 nanosaniyədən 670 nanosaniyəyə (−19%) endi.
Yayım 18 may – 6 iyul 2026 tarixləri arasında mərhələli şəkildə tamamlandı. p99 səviyyəsində bir instansın rezident yaddaşı 9,3 QB-dan 5,3 QB-a (−43%), p90-da isə 6,5 QB-dan 3,8 QB-a (−42%) düşdü. Donanma üzrə ümumi iş yaddaşı təxminən 100 terabayt azalıb — bu, Cloudflare-ın 130 ədəd Gen 13 serverindəki RAM-a bərabərdir. Şirkət azad olunan yaddaşı keş tutumunun artırılmasına yönəltməyi planlaşdırır; bu, uğur nisbətini yaxşılaşdıracaq və yuxarı axına gedən sorğuların həcmini azaldacaq.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.