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 одразу відгукується на коментарі. Бали відображають вплив на статтю та заповнюють шкалу змін. Можна дискутувати або прямо пропонувати, як переписати текст. Коли шкала заповниться, стаття оновиться на ваших очах.