Cloudflare успешно ослободи околу 100TB работна меморија на својата глобална серверска мрежа и тоа без никакви физички промени на хардверот. Овој резултат е постигнат со целосно редизајнирање на начинот на кој DNS записите се чуваат во меморијата на нивната платформа Big Pineapple, која стои зад популарниот јавен сервис 1.1.1.1.
Системот во секој момент чува над 250 милијарди кеширани DNS записи. На ова ниво, само еден непотребен бајт по запис троши повеќе од 250GB од вкупната меморија на компанијата. Со имплементација на пет клучни промени во програмскиот јазик Rust, големината на секој запис е намалена од 953 на 420 бајти.
Првиот чекор била замената на динамичките контејнери во Rust со контејнери со фиксна големина. Со отстранувањето на неискористените полиња за капацитет, веднаш биле заштедени над 15TB меморија. Останатите оптимизации вклучуваат:
• Спојување на трите листи со DNS-записи во еден бафер;
• Отстранување на дуплираните имиња на домени;
• Складирање на податоците во нивниот изворен формат со променлива должина, со што се избегнува заземањето на фиксен простор.
Овие структурни промени не само што ја намалиле потрошувачката на меморија, туку и значително ги подобриле перформансите на системот. Пропусноста при внесување на нови податоци е зголемена за 43% (достигнувајќи 893.000 записи во секунда), додека времето на пребарување е намалено за 19%, односно од 828 на 670 наносекунди.
Поставувањето на новата верзија се одвивало од средината на мај до почетокот на јули, при што искористената меморија по инстанца е намалена од 9,3GB на 5,3GB.
Зачуваната меморија е еквивалентна на вкупниот DDR5 капацитет од 130 сервери од 13-та генерација на Cloudflare. Наместо да ги намали хардверските конфигурации за да заштеди средства, компанијата планира да ја искористи ослободената меморија за создавање на уште поголеми DNS кешови.
За крајните корисници, ова значи побрзо вчитување на сервисите и помала потреба од препраќање на сообраќајот.
Деталната техничка објава од Cloudflare можете да ја прочитате тука.








































