iXBT
Dexter
Общество

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

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

Компания радикально оптимизировала 1.1.1.1

Cloudflare освободила около 100 ТБ оперативной памяти на своей глобальной серверной инфраструктуре, не заменив ни одной планки ОЗУ и не перенастроив физическое оборудование. Инженеры компании просто переработали структуру DNS-кэша платформы Big Pineapple, которая лежит в основе публичного DNS-сервиса 1.1.1.1.

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

После пяти изменений в коде на Rust размер одной кэшированной DNS-записи удалось сократить с 953 до 420 байт — примерно на 56%. На масштабе Cloudflare это дает огромную экономию: в Big Pineapple одновременно хранится более 250 млрд DNS-записей. Поэтому даже один лишний байт на каждую запись обходится инфраструктуре более чем в 250 ГБ оперативной памяти.

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

Инженеры также объединили три списка DNS-записей в единый буфер с двухбайтовыми смещениями, отказались от хранения повторяющихся доменных имен. Сами данные теперь хранятся в компактном сетевом формате с указанием длины. Раньше, например, небольшая четырехбайтовая DNS-запись типа A могла занимать в памяти те же 144 байта, что и значительно более крупные записи.

Оптимизация не только освободила память, но и ускорила работу сервиса. Скорость добавления записей в кэш выросла на 43%. Задержка поиска снизилась с 828 до 670 наносекунд.

В сумме принятых мер Cloudflare получила около 100 ТБ свободной оперативной памяти — примерно столько же, сколько установлено в 130 серверах поколения Gen 13 с 768 ГБ DDR5-6400 в каждом. На фоне высоких цен на серверную память такая оптимизация особенно полезна.

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

Оригинал публикацииМатериал опубликован источником «iXBT». На странице источника может быть больше деталей.
Открыть оригинал
Далее

Следующие новости

Непрерывная лента свежих материалов после статьи.

Московский Комсомолец ·

Германия — Богатые тоже платят. Иногда

И вот главный фокус немецкой налоговой статистики: одной рукой фиск выставляет миллиардные счета, другой — стирает часть из них. Критики видят в этом привилегию больших д

Московский Комсомолец ·

В Чаплинском округе начал работу бесплатный пункт проката средств реабилитации

В Чаплинском муниципальном округе Херсонской области в рамках реализации национального проекта «Семья» и программы «Старшее поколение» начал работу пункт проката техничес

Московский Комсомолец ·

В офисе Зеленского допустили раскол Украины из-за выборов во время войны

Глава Офиса президента Украины Кирилл Буданов* (внесен в России в перечень террористов и экстремистов) заявил, что проведение выборов в условиях продолжающегося конфликта

Следующие материалы появятся при прокрутке