Турбо Режим и Лимит Соединений
О том как ускорить ваш бот на момент большого притока пользователей и их одновременной активности при рекламных компаниях или периодических эвентах (Events) в вашем боте. О «Турбо Режиме» и Лимитах Соединений в ботах Telegram.
Производительность Ботов в Menu Builder постоянно поддерживается на должном уровне, однако чтобы держать стоимость услуг на низком уровне и оставаться самым доступным конструктором ботов в Telegram, лимиты нагрузки отдельного бота рассчитаны на использование его в ШТАТНОМ РЕЖИМЕ, а так же присутствуют механизмы ограничивающие злоупотребления.
Если при размещении рекламы или другом подобном случае, когда в бот приходят одновременно большое количество пользователей, вы ожидаете получить временные пиковые показатели нагрузки или уже ощущаете задержки в работе бота по указанным выше причинам - активируйте «Турбо Режим».
В «Турбо Режиме» - вашему боту будет увеличен, «Лимит Соединений», что позволит ему, в единицу времени, передавать больше нагрузки на наш сервер от серверов Telegram.
❖ Лимит Соединений
Лимит соединений - определяет сколько одновременных запросов сервер Telegram может отправить вашему боту. Чем выше это число, тем больше юзеров смогут использовать бот в единицу времени без ощущения замедления реакции бота.
В самом общем случае - нажатие одной кнопки занимает одно соединение. Активное соединение закрывается когда назначенное действие полностью завершено и юзеру прислано сообщение с результатом.
Срок жизни одного соединения, в среднем, измеряется в СОТЫХ ДОЛЯХ секунды.
Таким образом 10 соединений НЕ означает 10 одновременных пользователей.
Это скорее сочетание факторов:
• Количество одновременных пользователей.
• Количество нажатий кнопок каждого из них
• Частота нажатия кнопок каждого из них
• Сложность действий которые при этом необходимо выполнить боту при каждом нажатии и соответственно, то как долго функции кнопки будет держать соединение открытым...
Приведённые выше факторы могут накладываться друг на друга сочетаясь в различных комбинациях как по количеству так и по продолжительности. Это и будет в конечном итоге определять степень переполнения очереди запросов на серверах Telegram.
Надо понимать, что механика взаимодействия юзера с ботом такова, что 200 юзеров могут не совершить ни одного одновременного действия при том что используют бот в одно и то же время... Поэтому правильно построенный бот со 100k пользователями где активные действия юзеров разнесены во времени может никогда не ощутить недостатка соединений, в то время как бот с небольшим количеством подписчиков, однако все действия в котором сконцентрированы на коротком промежутке - может неожиданно испытывать замедление реакции...
❖ Очередь Запросов
Очередь запросов - (Очередь Сообщений) показывает текущее количество запросов на отправку вашему боту которое скопилось на сервере Telegram на момент генерации сообщения отчёта.
Обратите внимание, что в среднем, срок жизни одного запроса это десятые и сотые доли секунды поэтому во первых даже при наличии очереди в 15-20-30 запросов ощущений задержки не возникает, а цифры указанные в сообщении представляю собой лишь снимок состояния системы на момент генерации самого сообщения - и потому могут скорее дать представление о порядке цифр на данный момент, нежели отразить некое долговременное состояние.
Естественно в каждом правиле существуют исключения. Примером исключения для данного случая могут служить Бонус Кнопки. Для этого типа кнопок существовала искусственная задержка в одну секунду, это было связано с принципом по которым работает защита от мульти нажатий - когда злоумышленник пытается нажать бонус кнопку чаще чем это предусмотрено временем её кулдауна.
Сейчас эта задержка убрана и бонус кнопка защищена при помощи других механизмов, но данный пример хорошо иллюстрирует принцип.
Таким образом наличие необходимости нажимать большое количество бонусных кнопок в боте неизбежно приводило к тому что время жизни одного соединения увеличивалось до 1 секунды. Такие большие задержки уже могут приводить к переполнению «Очереди» даже при не самой высокой активности пользователей.
Простыми словами всё выше сказанное означает что, в самом общем случае, «Количество соединений» определяет - сколько человек могут ОДНОВРЕМЕННО и АКТИВНО пользоваться ботом в единицу времени.
ПОДВОДЯ ИТОГ: прямой связи с количеством пользователей в вашем боте и производительностью - нет. Имеет значение то как организовано ваше с ними взаимодействие - сколько людей ОДНОВРЕМЕННО и АКТИВНО пользуются его функциями.
Каждый бот индивидуален и дать одну рекомендацию для всех невозможно. Однако, на нужное, в данный момент, именно вам, «Количество Соединений» влияют следующие факторы:
• Активная рекламная компания когда в бот приходит большое количество пользователей одновременно.
• Количество и сложность выполняемых заданий в боте сразу после прихода нового юзера (подписка на канал например).
• Количество сообщений и рассылок которые вы осуществляете в этот момент.
• Необходимость заполнения юзерами форм обратной связи с сохранением данных в переменных.
• Наличие авто начислений на баланс пользователей.
То есть чем больше одновременных активных действий большого количества подписчиков, тем больше шансов для появления замедлений.
❖ Турбо Режим
Как включить Турбо Режим
Турбо Режим - предназначен для временного увеличения Лимита Соединений с целью ускорения работы вашего бота при пиковых ситуационных нагрузках. Позволяет передавать больше нагрузки, в единицу времени, серверу Menu Builder от серверов Telegram.
Проверить состояние Турбо Режима можно в:☞ 🔐Админ
Турбо Режим активируется в вашем боте.
Турбо Режим.
Для подключения перейдите в вашем боте:☞ 🔐Админ | 🧩Расширения | 🚀Турбо Режим
На данный момент ускорение вашего бота может быть активировано на
• 1 день
• 7 дней
• 30 дней
Выберите нужную продолжительность и подтвердите активацию.
Как проверить состояние очереди запросов
Проверить состояние Очереди и текущий Лимит Соединений можно в головном боте @MenuBuilderBot.
При помощи команды
Для этого отправьте команду головному Боту (команда сработает только для админа):/botstatus @your_bot_addres
Где:@your_bot_addres
- это адрес вашего бота в Телеграм.
При помощи меню головного бота
Или перейдите в головном боте @MenuBuilderBot:☞ 🛠Управление Ботами | 📋Список Меню-Ботов
Выберите ваш бот и нажмите: «Статус Бота».
Как этим пользоваться
Если ощущаете задержки в боте и получаете жалобы юзеров
1. Заходите в головной бот @MenuBuilderBot.
2. И с промежутком несколько секунд (10-20) отправляете команду:/botstatus @your_bot_addres
3. Если очередь больше 0 (нуля) и начинает копиться при повторной проверке - значит можно активировать «Турбо Режим». Если ноль или около нуля - то всё нормально.
ЕСЛИ ОЧЕРЕДЬ НЕ РАСТЁТ
• Если текущая очередь в 2 раза больше «Количества Соединений» - то всё нормально это стандартная работа бота. Такое состояние никак не отражается на производительности.
• Если текущая очередь в 5 раз больше «Количества Соединений» - это тоже нормально. Это может добавлять небольшие задержки, но с ботом всё в порядке.
Экстренное включение «Турбо Режима»
Если из-за повышенной нагрузки ваш бот перестал (или почти перестал) отвечать на нажатия кнопок или команды, то включить «Турбо Режим» обычным способом (через админку бота) для вас будет затруднительно. Для таких случаев в головном боте @MenuBuilderBot, в разделе управления вашим ботом предусмотрена возможность активации Турбо Режима.
Для включения режима перейдите в головной бот @MenuBuilderBot:
☞ Управление ботами > Список Ботов.
• Выберите имя бота из списка.
• Нажмите inline кнопку «Турбо Режим».
• Следуйте стандартной процедуре приобретения функционала.
Несмотря на то что активация происходит через головной бот - сообщение подтверждения оплаты придет в САМ БОТ для которого режим был активирован.
Это позволит вам включить Турбо Режим на 1 день.
Стоимость - стандартная.
ВАЖНО: Для активации Турбо Режима, после покупки, необходимо там же в управлении ботом перезапустить бота.
Если, для той нагрузки которую создают ваши пользователи, вам недостаточно «Турбо Режима» вы можете перенести свой бот на Выделенный Сервер. О том что такое выделенный сервер, кому и когда он нужен, читайте в руководстве «Выделенный Сервер».