Простая оптимизация кода позволила Cloudflare сэкономить 100 ТБ оперативной памяти

Прокомментировать Просмотры: 0

Изображение сгенерировано Gemini // Источник изображения: Gemini

Команде Cloudflare удалось сэкономить порядка 100 ТБ оперативной памяти в масштабах глобальной серверной сети исключительно программными методами — без апгрейда оборудования или закупки новых модулей RAM. Ключевым фактором успеха стала комплексная реорганизация структуры DNS-кэша в платформе Big Pineapple, которая выступает основой для публичного резолвера 1.1.1.1.

Всего пять точечных правок в кодовой базе на Rust позволили уменьшить объем одной закэшированной DNS-записи с 953 до 420 байт — то есть практически на 56%. Для инфраструктуры масштаба Cloudflare это колоссальный выигрыш: Big Pineapple непрерывно хранит свыше 250 миллиардов записей, поэтому устранение даже одного лишнего байта на элемент суммарно высвобождает более 250 ГБ ОЗУ.

Более 15 ТБ удалось вернуть благодаря отказу от динамических коллекций Rust (Vec и String) в пользу структур с фиксированным объемом. Так как после помещения данных в кэш их размер не меняется, резервирование памяти под возможное расширение приводило лишь к нерациональным накладным расходам.

Кроме того, разработчики объединили три раздельных списка записей в единый буфер с адресацией через двухбайтовые смещения и убрали дублирование доменных имен. Хранение данных перевели на компактный формат с явным указанием длины: если ранее обычная четырехбайтная A-запись отнимала те же 144 байта, что и гораздо более тяжелые структуры, то теперь память выделяется строго по фактической потребности.

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

Итоговый объем высвобожденной памяти сопоставим с ресурсами 130 серверов поколения Gen 13, укомплектованных 768 ГБ DDR5-6400 каждый. С учетом текущей рыночной стоимости серверных модулей памяти подобная оптимизация принесла ощутимую экономическую выгоду.

Полученный резерв Cloudflare планирует направить на увеличение емкости DNS-кэшей. Это позволит обслуживать значительно больше обращений локально без перенаправления на авторитетные серверы имен, что заметно снизит нагрузку на сеть и повысит общую скорость разрешения запросов.

 

Источник: iXBT

Поделиться:

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов