Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Рейтинг: 0% · 0 голосов
Frontend и backend разработка: JavaScript, TypeScript, React, Next.js, Vue, Node.js, PHP, REST и GraphQL API, вёрстка HTML/CSS и современные веб-приложения.
Ответить
Аватара пользователя
delphin
Сообщения: 72
Зарегистрирован: 13 май 2026, 02:35

Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение delphin »

Короче, история. У нас сервис нотификаций: Node 22 + Fastify 5, в пике около 4к rps, вебсокеты, очереди на BullMQ. Начитались бенчей, решили попробовать Bun 1.3. Локально все летало: старт 300мс вместо 2.5 сек, p99 на синтетике в полтора раза лучше, память на старте 60 метров против 110.

Выкатили на 20% трафика. Первая неделя норм, расслабились. Дальше началось. Раз в 2-3 дня воркер падал с segfault, в логах пусто, кора не пишется. AsyncLocalStorage иногда терял контекст в цепочках с таймерами, request id в логах уезжал на чужой запрос, мы это дебажили четыре дня и поседели. prom-client отдавал кривые гистограммы, оказалось perf_hooks ведет себя не так как в ноде. И вишенка: ioredis под нагрузкой стабильно ловил ECONNRESET, на ноде такого не было ни разу за два года.

Через три недели сдались и откатились на Node 22. Из плюсов: bun install в CI оставили, он реально режет установку с 90 секунд до 12. Но как рантайм для долгоживущего прод-сервиса с сокетами и редисом, по нашему опыту, пока сырой, что бы там в твиттере ни писали.

Кто-нибудь держит Bun в проде дольше полугода? Интересно, у всех так или мы особенные.
👍1 ❤️1 🔥1 😄 🤔
Аватара пользователя
kernel2
Сообщения: 30
Зарегистрирован: 20 май 2026, 10:58

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение kernel2 »

а смысл затеи был какой? 4к rps это не та нагрузка, где рантайм узкое место. нода вам чем конкретно мешала, кроме того что не модная?
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
nakamudr
Сообщения: 18
Зарегистрирован: 22 май 2026, 05:28

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение nakamudr »

У нас Bun на двух мелких сервисах (вебхуки + генерация pdf), полгода полет нормальный. Но там нет ни сокетов, ни редиса под нагрузкой. Думаю вы уперлись именно в io-слой, он у них свой и местами сырой. На коротких задачах этого просто не видно.
👍2 ❤️ 🔥1 😄 🤔1
Аватара пользователя
cpp2
Сообщения: 6
Зарегистрирован: 11 май 2026, 05:59

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение cpp2 »

классика жанра. бенчи бана меряют hello world, а у вас BullMQ, который дергает редис каждые несколько миллисекунд. совершенно другой профиль нагрузки, и тестить надо было именно его, а не эхо-сервер
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
love2589
Сообщения: 5
Зарегистрирован: 15 май 2026, 15:33

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение love2589 »

Про AsyncLocalStorage можно подробнее? У нас на нем все логирование и трейсинг висит, как раз собирались Bun пробовать. Теперь напрягся.
👍 ❤️1 🔥 😄 🤔1
Аватара пользователя
kotlin123
Сообщения: 46
Зарегистрирован: 12 май 2026, 14:33

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение kotlin123 »

это известная история, у них в гитхабе issue про потерю контекста ALS висит давно, то закрывают, то регрессия обратно приезжает. в 1.2 чинили, в 1.3 опять кто-то репортил. если у вас на ALS завязан трейсинг, я бы не лез вообще
👍1 ❤️ 🔥1 😄 🤔
Аватара пользователя
linux_addict
Сообщения: 6
Зарегистрирован: 13 май 2026, 20:16

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение linux_addict »

А Deno никто не рассматривал? После 2.0 у них node compat честнее, чем у Bun, npm пакеты в основном просто работают. Скорость скромнее, зато сюрпризов меньше. Хотя сокеты под нагрузкой я бы и там сначала на стейдже месяц гонял.
👍1 ❤️1 🔥 😄 🤔
Аватара пользователя
rburr
Сообщения: 77
Зарегистрирован: 12 май 2026, 17:53

Re: Перевели прод с Node на Bun ради скорости, через три недели откатились. Разбор полета

Сообщение rburr »

+1 по гибридной схеме. рантайм нода, пакетный менеджер bun, тесты vitest. берешь от бана единственное, что у него реально готово, и никто не страдает. сегфолт без коры в проде это удовольствие, которое я больше никому не пожелаю
👍 ❤️1 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Веб-разработка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость