GuardLabs
demo / bubble-wu
Bubble · workload units

Счёт за Workload Units не должен быть сюрпризом после запуска

Bubble тарифицирует не «часы сервера», а каждое действие приложения: поиск в базе, workflow, вызов API. Приложение, собранное без оглядки на это, начинает жечь бюджет ровно в момент роста трафика. Ниже интерактивная оценка расхода и три анти-паттерна, которые мы чиним чаще всего.

Боль

Почему счёт растёт быстрее пользователей

Как это выглядит у клиента

  • MVP работал на бесплатном тарифе, после первой сотни пользователей лимит WU кончается за неделю.
  • Никто не может сказать, какая именно страница или workflow съедает бюджет.
  • Продукт тот же, счёт вырос в разы: клиент считает, что его обманули.

Что происходит на самом деле

  • Поиск без ограничений грузит в память всю таблицу и платит за каждую запись.
  • Тяжёлые операции сидят в клиентских workflow и запускаются каждым посетителем.
  • Расход WU никто не считал на этапе проектирования, а он проектируется так же, как схема базы.

Живой артефакт

Оценка расхода WU по профилю приложения

Коэффициенты видны в раскладке справа и намеренно округлены: это оценка порядка величины для разговора о бюджете, а не замена замеров в App Metrics. Двигайте ползунки под свой продукт.

Repeating Group на всю таблицу легко делает эту цифру тысячами.
По умолчанию ориентир тарифа Starter. Сверьте с актуальным прайсом Bubble.
0WU в месяц, оценка

    Решение

    Три анти-паттерна, которые мы чиним чаще всего

    1. Search for Things без ограничений

    Поиск без constraints тянет всю таблицу: на 10 тысячах записей каждая загрузка страницы оплачивает все 10 тысяч. Пользователь при этом видит первые двадцать.

    Чиним: жёсткие constraints в самом поиске, пагинация Repeating Group, счётчики через агрегатные запросы вместо полной выборки.

    2. Тяжёлые операции в клиентских workflow

    Массовая правка списка через «Make changes to a list of things» из клиента деградирует уже на сотнях записей и держит пользователя на крутящемся лоадере.

    Чиним: рекурсивные backend workflows батчами, расписание вместо «по клику», очередь для вызовов внешних API.

    3. Расход WU не заложен в архитектуру

    Схема базы и структура страниц решают, сколько будет стоить каждый посетитель. Переделывать после запуска в разы дороже, чем спроектировать сразу.

    Чиним: оценка профиля нагрузки до сборки, как в калькуляторе выше, и контрольный замер по App Metrics после запуска.

    Как проверить

    Проверка за две минуты

    1. Поставьте «записей возвращает средний поиск» на 2000: месячный расход взлетает на порядок. Это и есть цена поиска без ограничений.
    2. Включите переключатель оптимизаций: раскладка справа показывает, какая статья расхода сжимается.
    3. Впишите лимит своего тарифа: вердикт пересчитает запас или перерасход.
    4. Раскладка по статьям обновляется на каждое движение ползунка, формула прозрачна и видна в исходнике страницы.