ГлавнаяТехнологииCloudflare сэкономила 100 терабайт ОЗУ обновлением кода
Технологии

Cloudflare сэкономила 100 терабайт ОЗУ обновлением кода

Инженеры Cloudflare высвободили 100 ТБ оперативной памяти в своей серверной сети, не меняя физическое оборудование. Вместо покупки новых модулей специалисты переработали архитектуру DNS-кэша Big Pineapple, сократив объем каждой записи более чем вдвое. Результат стал возможен благодаря пяти точечным изменениям в коде на языке Rust.

Cloudflare сэкономила 100 терабайт ОЗУ обновлением кода

Оптимизация затронула структуру данных, которые обслуживают сервис 1.1.1.1. До правок размер одной DNS-записи составлял 953 байта, после — 420 байт. Учитывая, что в системе единовременно хранится свыше 250 миллиардов записей, каждый сэкономленный байт масштабируется в сотни гигабайт памяти. Основной выигрыш в 15 ТБ принесла замена динамических контейнеров Vec и String на структуры с фиксированным размером: прежде система выделяла избыточный объем под кэш, который не использовался.

Дополнительно разработчики объединили списки записей в единый буфер и избавились от дублирования доменных имен. Теперь данные хранятся в компактном сетевом формате, что исключило случаи, когда крошечные записи занимали в памяти столько же места, сколько крупные массивы. Помимо освобождения ресурсов, обновление ускорило запись в кэш на 43%, а время поиска сократилось до 670 наносекунд.

Общий объем сэкономленной памяти сопоставим с ресурсами 130 серверов Gen 13, оснащенных современными модулями DDR5. Cloudflare не планирует извлекать освободившееся «железо» из стоек. Вместо этого компания расширит кэширование: больше запросов будут обрабатываться локально, что снизит нагрузку на внешние DNS-серверы и дополнительно повысит скорость отклика для пользователей по всему миру.

Комментарии (0)

Оставить комментарий

Пока нет комментариев. Будьте первым!