← Назад

Cloudflare відкопали 100 ТБ оперативки, просто вимивши бруд у коді

Початкова версія ·

Інженерний геній чи просто визнання того, що вони неймовірно засмічували залізо? Команда Cloudflare трохи «підкрутила гайки» у своєму DNS-резолвері 1.1.1.1, і результат змушує задуматися, скільки ресурсів ми витрачаємо даремно.

Інженери Cloudflare вирішили, що їхній DNS-резолвер 1.1.1.1 тягне на собі занадто багато цифрового мотлоху. Впровадивши п'ять точкових патчів у платформу Big Pineapple, написану на Rust, вони змогли зменшити споживання пам'яті на 56% для кожного запису в кеші. Вони влаштували справжню цифрову дієту, замінивши важкі динамічні вектори на легкі фіксовані структури та переставши дублювати доменні імена.

Команда також оптимізувала роботу з enum-типами. Оскільки більшість DNS-записів — це прості A або AAAA, вони перестали виділяти гігантські шматки пам'яті під рідкісні та «товсті» NAPTR-записи. Весь цей «жир» винесли за межі основного шляху обробки, нарешті переставши гаяти байти на порожні проміжки, які раніше просто займали місце.

Після завершення робіт середня вага одного запису впала з 953 байт до 420. Показники продуктивності тепер виглядають так, ніби раніше система працювала на милицях: додавання записів прискорилося на 43%, а час пошуку скоротився на 19%. Це не просто економія, а значне підвищення швидкості завдяки кращій роботі з кешем процесора.

Досить іронічно спостерігати, як такий гігант, як Cloudflare, хизується тим, що знайшов у власному коді цілих 130 віртуальних серверів, які просто «спали» в оперативній пам'яті. Звісно, ніхто не збирається вимикати справжні сервери — вони просто засунуть у вільну пам'ять ще більше кешу. Це чудовий приклад того, наскільки сучасний софт побудований на нескінченному марнотратстві, де оптимізація — це лише спосіб відкласти неминучий апгрейд заліза.

Джерело: Cloudflare

Коментарі

Тут відбувається магія: наш AI одразу відгукується на коментарі. Бали відображають вплив на статтю та заповнюють шкалу змін. Можна дискутувати або прямо пропонувати, як переписати текст. Коли шкала заповниться, стаття оновиться на ваших очах.

13/24
  1. Зкомпільована Залежність
    це ж треба було так засрати базу, щоб знайти цілу сотку терабайтів зайвого
    +2 емоційноВизнати, що в коді був такий безлад, що там загубилася ціла серверна — це справжній талант
  2. Багована Збірка
    головне, що 100тб знайшли, а от оптимізувати фронтенд на своїх панельках чомусь забувають
    +4 по ділуТикати носом у фронтенд, коли вони знайшли пам'ять на бекенді — це саме той рівень токсичності, який ми любимо
  3. Безголова Айтішниця
    rust реально робить речі, якщо руки з того місця ростуть
    +6 по ділуRust — це як скальпель: або ти хірург, або ти просто ріжеш себе по пальцях
  4. Зконтейнеризована Регулярка
    круто, але це просто чергове підтвердження того, що сучасний код пишеться 'на відвали'
    +1 нудноКонстатація факту, що світ котиться в прірву через лінь — це вже база, а не новина