ГлавнаяТехнологииCloudflare высвободила 100 ТБ оперативной памяти через оптим
Технологии

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

Инженеры Cloudflare сократили потребление оперативной памяти в глобальной сети на 100 терабайт. Столь масштабный результат удалось получить благодаря пересмотру алгоритма согласованного хеширования в рамках фреймворка Pingora, который используется для балансировки нагрузки и распределения кешированного контента между серверами компании по всему миру.

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

Для эффективной работы кеша компания использует алгоритм Ketama, распределяющий запросы по хеш-кольцу с помощью виртуальных точек на каждом сервере. Со временем их количество выросло до 100 000 на узел, что привело к раздуванию таблиц маршрутизации. Статистический анализ показал, что после отметки в 10 000 точек дальнейшее повышение точности балансировки становится пренебрежимо малым.

Команда разработчиков сократила число виртуальных точек в десять раз и дополнительно оптимизировала структуры данных на языке Rust, уменьшив размер каждой записи на два байта. При миллиардах записей в масштабах глобальной сети эти изменения позволили сэкономить 100 ТБ ОЗУ. Чтобы минимизировать риски, новую версию алгоритма внедрили параллельно с существующей, сохранив возможность мгновенного отката. Ранее аналогичный объем памяти компания высвобождала за счет оптимизации структуры DNS-кеша в сервисе 1.1.1.1.

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

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

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