Cloudflare оптимизировал DNS‑кэш, сэкономив 100 ТБ памяти
По данным Cloudflare Blog, инженеры компании внедрили пять изменений на уровне Rust, которые позволили сократить размер каждой записи в DNS‑кэше 1.1.1.1 на 56 % и освободить около 100 ТБ памяти по всему глобальному флоту серверов. Это достижение стало возможным благодаря пересмотру структуры Big Pineapple – ядра DNS‑резолвера.

Оптимизация Big Pineapple По данным Cloudflare Blog, ключевой компонент 1.1.1.1 – Big Pineapple – получил кардинальные изменения в структуре кэша. Инженеры обнаружили, что избыточные поля и правила выравнивания, характерные для Rust, занимают слишком много памяти. В результате они переписали внутренние структуры, удалив ненужные метаданные и заменив их компактными битовыми полями. Это позволило уменьшить размер одной записи в кэше почти на полтора раза.
Почему это важно DNS‑резолверы работают с миллиардами запросов в сутки, и даже небольшое экономия памяти складывается в огромные масштабы. Сокращение на 56 % означает, что в одном узле можно хранить почти вдвое больше записей без увеличения объёма RAM. Для Cloudflare, обслуживающего миллионы точек присутствия по всему миру, это экономия около 100 ТБ памяти, что с точки зрения инфраструктуры – значительный вклад в снижении затрат и улучшении отказоустойчивости.
Технические детали В ходе оптимизации инженеры уделили особое внимание выравниванию полей в структуре и использованию более эффективных типов данных. В Rust компилятор автоматически размещает поля так, чтобы минимизировать внутренние пробелы, но иногда это приводит к «пустому» пространству. Переход на битовые поля для флагов и удаление лишних заголовков позволил уменьшить внутренний шов. Кроме того, часть кода была переписана без использования unsafe, что повысило надёжность и упростило сопровождение.
Что изменилось для пользователей Для конечных пользователей 1.1.1.1 это означает более стабильную работу в периоды пиковых нагрузок. Благодаря увеличенной плотности кэша вероятность попадания в память растёт, а значит снижается время ожидания DNS‑ответа. Для операторов сети – меньше оперативной памяти на каждом узле, что снижает потребность в масштабировании инфраструктуры.
Что дальше Cloudflare планирует применять принципы, выведенные в проекте Big Pineapple, к другим критически важным сервисам. В ближайшие месяцы ожидается публикация более подробного отчёта о применённых паттернах, которые могут быть использованы в открытом сообществе Rust.
Итог Оптимизация DNS‑кэша 1.1.1.1 – пример того, как глубокий анализ и рефакторинг кода на низком уровне могут привести к огромным экономиям ресурсов. Сокращение памяти на 100 ТБ – это не просто цифра, а показатель того, как современные облачные провайдеры продолжают искать новые способы повышения эффективности.