Skip to content

Latest commit

 

History

History
36 lines (20 loc) · 3.3 KB

File metadata and controls

36 lines (20 loc) · 3.3 KB

Симуляция большого потока пользователей

Зачем это надо?

Перед запуском рекламы мы хотим убедиться, что бот выдержит нагрузку и даже в пиковые моменты будет отвечать быстро и без тормозов

Ограничения Телеграм

  • Телеграм бот может отправлять до 30 запросов в секунду. Это любое взаимодействие с серверами телеграм: отправить сообщение, отредактировать, удалить и т.п.
  • В один чат (в личку, канал или группу) бот может отправлять до 20 сообщений в минуту.

Ограничения Puzzlebot

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

Как ограничивают

Все запросы от одного бота попадают в одну очередь. В телеграм они направляются после выхода из этой очереди. Например, если одновременно бот хочет отправить 10 тысяч сообщений, то они все повиснут в этой очереди. Первые отправятся почти сразу, а следующие будут отправляться постепенно, чтобы не получалось больше 30 запросов в секунду.

Как сделать симуляцию?

Поток лидов

Мы знаем, что посетители будут приходить из таргета почти равномерно: графики конверсии шумные, но равномерные. Пример

Сымитировать такое просто: оцениваем сколько за час (или минуту) кликов происходит в среднем, и добавляем случайность.

Взаимодействие с ботом

Вот это уже сложнее. Как можно сымитировать, как лид будет взаимодействовать с ботом: нажимать на кнопки, уходить, возвращаться?

Если мы не знаем еще как запрограммируем бота, то можно оценить среднюю частоту взаимодействий — как часто бот будет получать запрос в среднем, когда с ним одновременно взаимодействует N людей (напр. 1000). Останется только добавить шума и все.

Если мы знаем точно, как запрограммирован бот (а мы знаем), то можно и детально каждый шаг сымитировать. Но это дольше делать, поэтому пока попробуем простой вариант.